jQuery實現公告無限循環滾動


今天把博客的公告欄做了一個小效果,如果有2條公告或以上就有個滾動效果,實例請移目前端組公告欄。在此感謝Newton同學的耐心指導,不多說了,上代碼!或者你可以直接前往DEMO看實例。

前端組公告欄截圖

jQuery代碼

 1 //第二版:Newton改造
 2 (function (win){
 3     var callboarTimer;
 4     var callboard = $('#callboard');
 5     var callboardUl = callboard.find('ul');
 6     var callboardLi = callboard.find('li');
 7     var liLen = callboard.find('li').length;
 8     var initHeight = callboardLi.first().outerHeight(true);
 9 
10     win.autoAnimation = function (){
11         if (liLen <= 1) return;
12         var self = arguments.callee;
13         var callboardLiFirst = callboard.find('li').first();
14         callboardLiFirst.animate({
15             marginTop:-initHeight
16         }, 500, function (){
17             clearTimeout(callboarTimer);
18             callboardLiFirst.appendTo(callboardUl).css({marginTop:0});
19             callboarTimer = setTimeout(self, 5000);
20         });
21     }
22 
23     callboard.mouseenter(
24         function (){
25             clearTimeout(callboarTimer);
26         }).mouseleave(function (){
27             callboarTimer = setTimeout(win.autoAnimation, 5000);
28         });
29 }(window));
30 setTimeout(window.autoAnimation, 5000);

HTML代碼:

1 <div id="callboard">
2 <ul>
3     <li>
4         <a href="http://www.qianduanzu.com/2012042036.html">公告:前端組主題正在整理中..有需要用的朋友請留個言,以方便及時通知!</a>
5     </li>
6     <li>
7         <span style="color:red;">公告:前端組上線一個月零八天,PR升為3,BD權重1</span>
8     </li>
9 </ul>

CSS代碼:(可根據需求另設)

1 #callboard { height:24px; line-height:24px; overflow:hidden;}
2 #callboard ul { padding:0;}
3 #callboard li { padding:0;}

Author: 前端組


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM