无间断向左滚动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]