;(function($){ var xslider = function(el, userconfig) { var _this = this this.el = el // 鍙傛暟閰嶇疆 this.userconfig = userconfig this.config = { w: this.el.width(), current: 0, speed: 500, intervaltime: 5000 } if(userconfig != null) { $.extend(this.config,this.userconfig); } // 淇濆瓨鏌ユ壘dom鍏冪礌 var slider_img = this.el.children('.slider-img') var slider_img_ul = slider_img.children('ul') var slider_img_ul_li = slider_img_ul.children('li') // 鍒濆鍖栧乏鍙虫寜閽? this.el.append('<') this.el.append('>') var slider_btn_left = this.el.children('.slider-btn-left') var slider_btn_right = this.el.children('.slider-btn-right') // 鍒濆鍖栧渾鐐? this.el.append('
') var slider_dot = this.el.children('.slider-dot') var slider_dot_ul = slider_dot.children('ul') var slider_img_length = slider_img_ul_li.length for (var i = 0; i < slider_img_length - 2; i++) { if(i === this.config.current){ slider_dot_ul.append('
  • ') } else { slider_dot_ul.append('
  • ') } } var slider_dot_ul_li = slider_dot_ul.children('li') // 鍒濆鍖栭粯璁ゆ樉绀哄浘鐗囦綅缃? slider_img_ul.css('left', - this.config.w * this.config.current - this.config.w) // 鍦嗙偣鍒囨崲鐐逛寒 var active = function(i) { slider_dot_ul_li.removeclass('active') slider_dot_ul_li.eq(i).addclass('active') } // 鍙崇偣鍑讳簨浠? slider_btn_right.on('click', function(event) { event.preventdefault() if(_this.config.current < slider_img_length - 2){ toggleinterval () _this.config.current ++ if(_this.config.current != slider_img_length - 2) { slider_img_ul.stop(true, false).animate({left: - _this.config.w * _this.config.current - _this.config.w}, _this.config.speed, function () { active(_this.config.current) }) } if (_this.config.current === slider_img_length - 2) { slider_img_ul.stop(true, false).animate({left: - _this.config.w * _this.config.current - _this.config.w}, _this.config.speed, function() { slider_img_ul.css('left', - _this.config.w) _this.config.current = 0; active(_this.config.current) }) } } }) // 宸︾偣鍑讳簨浠? slider_btn_left.on('click', function(event) { event.preventdefault() if(_this.config.current > -1){ toggleinterval () _this.config.current -- if(_this.config.current != -1){ slider_img_ul.stop(true, false).animate({left: - _this.config.w * _this.config.current - _this.config.w}, _this.config.speed, function() { active(_this.config.current) }) } if(_this.config.current === -1){ slider_img_ul.stop(true, false).animate({left: 0}, _this.config.speed, function() { slider_img_ul.css('left', - _this.config.w * (slider_img_length - 2)) _this.config.current = slider_img_length - 3 active(_this.config.current) }) } } }) // dot鐐瑰嚮浜嬩欢 slider_dot_ul_li.on('click', function(event) { event.preventdefault() toggleinterval () var index = $(this).index() active(index) slider_img_ul.stop(true, false).animate({left: - _this.config.w * index - _this.config.w}, _this.config.speed, function() { _this.config.current = index }) }) // 鑷姩鍒囨崲 var sliderint = setinterval(sliderinterval, _this.config.intervaltime) // 鍒ゆ柇鍥剧墖鍒囨崲 function sliderinterval() { if (_this.config.current < slider_img_length - 2) { _this.config.current ++ slider_img_ul.stop(true, false).animate({left: - _this.config.w * _this.config.current - _this.config.w}, _this.config.speed, function() { active(_this.config.current) if (_this.config.current === slider_img_length - 2) { slider_img_ul.css('left', - _this.config.w) _this.config.current = 0 active(_this.config.current) } }) } } // 閲嶇疆璁℃椂鍣? function toggleinterval () { clearinterval(sliderint) sliderint = setinterval(sliderinterval, _this.config.intervaltime) } } // --end-- xslider $.fn.extend({ xslider: function() { new xslider($(this)) } }) })(jquery) var config = { current: 0, speed: 500, intervaltime: 2000 } $('.slider').xslider(config)