wjh8222 发表于 2013-1-29 13:34:09

无间断向左滚动jquery代码(走马灯)

/*jquery向左滚动代码   by ~Wanghtml:   <div id="scroll">         <ul>             <li></li> //内容区必须为定宽,并且内容区域总宽大于等于#scroll      </ul>   </div> css:   #scroll { width:500px; overflow:hidden; } //宽度自定,设置隐藏   #scroll ul { overflow:hidden; zoom:1; } //不定义宽度,清除浮动   #scroll ul li { float:left; } //浮动 js:   $('#scroll').wScroll(         speed : 1, //速度,数值越大滚动越快         type : 0 //滚动类型,0连续,1间断   );*/    ( function($) {      $.fn.wScroll = function(options) {          var defaults = { speed : 1,type : 0}          var options = $.extend(defaults, options);          //获取参数          var obj = $(this);          var obj_ul = $(obj).find('ul');var obj_li = $(obj_ul).find('li');      //定义对象if (obj_li.outerWidth() * obj_li.length < obj.innerWidth()) return;//判断是否需要滚动      obj_li.clone().appendTo(obj_ul);obj_li = $(obj_ul).find('li');//复制内容,重建对象      obj_ul.css('width', obj_li.outerWidth() * obj_li.length);          //设定宽度      var scroll_offset = options.speed;varscroll_time = 10;         if (options.type == 1) {            scroll_offset = obj_li.outerWidth();            scroll_time = parseInt(5000/options.speed);          }      //判断类型,设置滚动参数          var t = setInterval(scroll_do, scroll_time);          function scroll_do() {            if (obj.scrollLeft() >= obj_ul.outerWidth()/2 || obj.scrollLeft() >= (obj_ul.outerWidth() - obj.innerWidth())) {                  obj.scrollLeft(0);                  if (options.type == 1) {                      obj.animate({                              scrollLeft : obj.scrollLeft() + scroll_offset                      }, 1000);                  }            } else {                  if (options.type == 1) {                      obj.animate({                        scrollLeft : obj.scrollLeft() + scroll_offset                      }, 1000);                  } else {                      obj.scrollLeft(obj.scrollLeft() + scroll_offset);                   }               }          }          //滚动          obj_ul.hover(            function() { clearInterval(t); },            function() { t = setInterval(scroll_do, scroll_time); }          );          //鼠标悬停时间      }})(jQuery);
页: [1]
查看完整版本: 无间断向左滚动jquery代码(走马灯)