多种JQuery循环滚动文字图片效果代码

前端之家收集整理的这篇文章主要介绍了多种JQuery循环滚动文字图片效果代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

自己模仿JQ插件的写法写了一个循环滚动列表插件支持自定义上、下、左、右四个方向,支持平滑滚动或者间断滚动两种方式,都是通过参数设置。JQ里面有些重复的地方,暂时没想到更好的方法去精简。不过效果还是可以的,如下(效果上传后都加速了,实际效果比这个要慢很多):

HTML代码如下:

<Meta charset="utf-8"> 循环滚动列表
Boxs Box01">
Box" id="autoScroll01">
Boxs Box02">
Box" id="autoScroll02">
Boxs Box03">
Box" id="autoScroll03">
Boxs Box04">
Box" id="autoScroll04">

css样式如下:

Boxs { padding: 15px; margin: 0 auto 30px; background-color: #e4fbff; } .Box01 { width: 870px; } .Box02 { float: left; width: 400px; } .Box03 { float: right; width: 400px; } .Box04 { width: 720px; } /* 具体样式 ---------- */ /* 通用必需样式 */ /* PS:有些重要样式在js里先写好了,下面id容器、ul和li标签的样式比较重要 */ .autoBox { position: relative; margin: 0 auto; overflow: hidden; } .autoBox ul { position: absolute; list-style: none; z-index: 2; } /* 第一、四个列表 */ /* PS:左右滚动型列表需要css定义高度,li标签可以有margin值 */ #autoScroll01,#autoScroll04 { width: auto; height: 174px; } #autoScroll01 ul li,#autoScroll04 ul li { float: left; width: 128px; height: 168px; padding: 3px; margin: 0 5px; _display: inline; } #autoScroll01 li a,#autoScroll04 li a { display: block; padding: 3px; border: 1px solid #dbdbdb; Box-shadow: 0 0 3px rgba(170,223,252,0.5); } #autoScroll01 li a:hover,#autoScroll04 li a:hover { border-color: #71ddff; Box-shadow: 0 0 3px rgba(77,185,245,.90); } #autoScroll01 li img,#autoScroll04 li img { display: block; width: 120px; height: 160px; } /* 第二、三个列表 */ /* PS:上下滚动型列表需要css定义宽度,li标签尽量不要设置margin值 */ #autoScroll02,#autoScroll03 { width: 100%; height: auto; } #autoScroll02 ul li { height: 30px; line-height: 30px; overflow: hidden; } #autoScroll03 ul li { height: 40px; line-height: 40px; overflow: hidden; } #autoScroll02 li a,#autoScroll03 li a { display: block; width: 100%; height: 24px; line-height: 24px; margin: 3px 0; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } #autoScroll03 li a { margin: 8px 0; }

js代码如下:

调用 case 'left': sroLeft(); break; case 'right':sroRight(); break; case 'up': sroUp(); break; case 'down': sroDown(); break; }; function sroLeft(){ //向左滚动事件 $ul.css("left",0); var left; function leftMoving(){ var dis = -o.distance,dif = -o.liWidth * (len - o.showNum); left = parseFloat($ul.css("left")); if (left <= dif){ $ul.css("left",0); left = 0; $ul.delay(o.interval); }; var ltDis = left + dis; if(ltDis <= dif){ ltDis = dif; }; $ul.animate({"left":ltDis+"px"},o.speed); }; $ul.hover( //鼠标移上、移下的阻止与恢复滚动 function(){ clearInterval(fnLeft); },function(){ fnLeft = setInterval(function(){leftMoving()},o.interval); } ); fnLeft = setInterval(function(){leftMoving()},o.interval); }; function sroRight(){ //向右滚动事件 $ul.css("right",0); var right; function rightMoving(){ var dis = -o.distance,dif = -o.liWidth * (len - o.showNum); right = parseFloat($ul.css("right")); if (right <= dif){ $ul.css("right",0); right = 0; $ul.delay(o.interval); }; var rtDis = right + dis; if(rtDis <= dif){ rtDis = dif; }; $ul.animate({"right":rtDis+"px"},o.speed); }; $ul.hover( function(){ clearInterval(fnRight); },function(){ fnRight = setInterval(function(){rightMoving()},o.interval); } ); fnRight = setInterval(function(){rightMoving()},o.interval); }; function sroUp(){ //向上滚动事件 $ul.css("top",0); var top; function upMoving(){ var dis = -o.distance,dif = -o.liHeight * (len - o.showNum); top = parseFloat($ul.css("top")); if (top <= dif){ $ul.css("top",0); top = 0; $ul.delay(o.interval); }; var tpDis = top + dis; if(tpDis <= dif){ tpDis = dif; }; $ul.animate({"top":tpDis+"px"},o.speed); }; $ul.hover( function(){ clearInterval(fnUp); },function(){ fnUp = setInterval(function(){upMoving()},o.interval); } ); fnUp = setInterval(function(){upMoving()},o.interval); }; function sroDown(){ //向下滚动事件 $ul.css("bottom",0); var bottom; function downMoving(){ var dis = -o.distance,dif = -o.liHeight * (len - o.showNum); bottom = parseFloat($ul.css("bottom")); if (bottom <= dif){ $ul.css("bottom",0); bottom = 0; $ul.delay(o.interval); }; var bmDis = bottom + dis; if(bmDis <= dif){ bmDis = dif; }; $ul.animate({"bottom":bmDis+"px"},o.speed); }; $ul.hover( function(){ clearInterval(fnDown); },function(){ fnDown = setInterval(function(){downMoving()},o.interval); } ); fnDown = setInterval(function(){downMoving()},o.interval); }; }); }; })(jQuery);

兼容到IE6+,jq库用1.7+的都没问题 。

猜你在找的jQuery相关文章