jQuery插件--圖片文字向上向左循環滾動

須要引用jqueryjavascript

 

調用很是簡單:css

1、 向上滾動html

 $(".scroll_two").jScroll({vertical: true});    java

<div class="box scroll_two">
    <ul>
        <li><a href="#">聲明</a>| <a href="#">農夫山泉關於公益捐贈的嚴正聲明</a></li>
        <li><a href="#">新車</a>| <a href="#">外觀媲美轎車 全新一代奧德賽9月初亮相</a></li>
        <li><a href="#">活動</a>| <a href="#">開啓燕京啤酒清爽之旅,贏取萬元單反相機</a></li>
        <li><a href="#">探密</a>| <a href="#">親歷探尋長壽村莫斯利安的神奇之旅</a></li>
        <li><a href="#">中房</a>| <a href="#">2009CIHAF第十一屆中國住交會</a></li>
        <li><a href="#">惠普</a>| <a href="#">你的打印機能省50%打印成本嗎?</a></li>
    </ul>
</div>

 

2、向左翻屏jquery

$(".scroll_three").jScroll({speed: 2000, scroll: 3}); web

<div class="box scroll_three">
	<ul>
		<li><a href="#"><img src="images/1.jpg" width="130" height="107" alt="" /></a></li>
		<li><a href="#"><img src="images/2.jpg" width="130" height="107" alt="" /></a></li>
		<li><a href="#"><img src="images/3.jpg" width="130" height="107" alt="" /></a></li>
		<li><a href="#"><img src="images/4.jpg" width="130" height="107" alt="" /></a></li>
		<li><a href="#"><img src="images/5.jpg" width="130" height="107" alt="" /></a></li>
		<li><a href="#"><img src="images/6.jpg" width="130" height="107" alt="" /></a></li>
	</ul>
</div>

  

源碼以下:app

;(function($){
$.fn.extend({
"jScroll":function(o){
o = $.extend({
auto: 3000, //延遲時間(毫秒)
speed: 800, //單次滾動時長(毫秒)
vertical: false, //是否向上滾動(默認向左)
scroll: 1 //每次滾動的元素數量
},o);
var running = false, sizeCss = o.vertical ? "height" : "width", ulSize = 0;
var scrollTimer, scrollLen, itemSize, animCss, i;
var div = $(this), ul = div.find("ul"), li = ul.children("li");

div.css({overflow: "hidden"});
ul.css({margin: "0", padding: "0", display: "inline-block"});
li.css({"list-style-type": "none", float: o.vertical ? "none" : "left"});

//獲取LI元素總寬(高)
for(i=0; i<=li.size()-1; i++){
itemSize = o.vertical ? li.eq(i).outerHeight() : li.eq(i).outerWidth();
ulSize+=itemSize;
}
var divSize = o.vertical ? div.height() : div.width(); //容器寬(高)
ul.css(sizeCss, (ulSize*2)+"px");
if(ulSize > divSize) running = true; //UL的寬(高)大於容的器寬(高)時才滾動

div.hover(function(){
clearInterval(scrollTimer);
},function(){
if(running){
scrollTimer = setInterval(function(){
scrollLen = 0;
itemSize = 0;
li = ul.children("li");
for(i=0; i<=o.scroll-1; i++){
itemSize = o.vertical ? li.eq(i).outerHeight() : li.eq(i).outerWidth();
scrollLen+=itemSize;
}
animCss = o.vertical ? {marginTop:-scrollLen +"px"} : {marginLeft:-scrollLen +"px"};
ul.animate(animCss, o.speed, function(){
ul.css(o.vertical ? "margin-top" : "margin-left", "0");
li.slice(0,o.scroll).appendTo(ul); //將前面的元素移至末尾
})
}, parseInt(o.auto+o.speed));
}
}).trigger("mouseleave"); //DOM加載完畢後自動執行hover(fn1, fn2)的fn2
}
});
})(jQuery);

 

下載例子this

相關文章
相關標籤/搜索