jQuery實現動態向上滾動
本文實例為大傢分享瞭jQuery實現動態向上滾動的具體代碼,供大傢參考,具體內容如下
總結:概括滾動的新聞、字幕、圖片:兩個最核心功能 :
1、”永動“(infinite)
2、循環
js實現”永動“(infinite) 的實現方法離不開定時器setInterval(),也就是說每過一段時間都要執行一次某個函數,從而實現無休止滾動;
而循環的實現:appendTo()或者append,三目運算符(或者 if else),insertBefore()或者prepend()等等好多種方法。
代碼:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>jQuery動態向上滾動</title> <script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> <style> * { margin:0; padding:0; } body { font-family:'microsoft yahei'; background:#fff; overflow:hidden; } #demo1,#demo2 { width:1000px; height:40px; line-height:30px; margin:50px auto; overflow:hidden; background:#f60; color:#fff; padding:10px; box-sizing:border-box; } #demo2 { height:90px; } #demo2 a { display:block; text-decoration:none; color:#fff; } #demo3 { width:1000px; height:400px; overflow:hidden; background:#f60; color:#fff; margin:50px auto; padding:10px; box-sizing:border-box; } </style> </head> <body> <!-- demo示例一 --> <div id="demo1"> <div class="demo"> <div class="con"> 向幸福生活致敬111! </div> <div class="con"> 向幸福生活致敬222! </div> <div class="con"> 向幸福生活致敬333! </div> <div class="con"> 向幸福生活致敬111! </div> </div> </div> <!-- demo示例二 --> <div id="demo2"> <a href="#" >第一條新聞</a> <a href="#" >第二條新聞</a> <a href="#" >第三條動態</a> </div> <!-- demo示例三 --> <div id="demo3" style="overflow:hidden;height:200px;"> <div id="dl"> <p>恭喜133****1062用戶獲得10元手機話費</p> <p>恭喜153****0792用戶獲得50元助學代金券</p> <p>恭喜153****3890用戶獲得330元上課大禮包</p> <p>恭喜189****0883用戶獲得330元上課大禮包</p> <p>恭喜133****6823用戶獲得1500元現金</p> <p>恭喜153****5050用戶獲得330元上課大禮包</p> </div> </div> <script> //總結:3種方法都離不開定時器setInterval(),也就是說每過一段時間都要執行一次某個函數,從而實現無休止滾動 //而循環的實現:appendTo()或者append,三目運算符(或者 if else),insertBefore()或者prepend() $(function() { // demo示例一 setInterval('autoScroll("#demo1")', 1000); // demo示例一函數 function autoScroll(obj) { $(obj).find(".demo:first").animate({ marginTop: "-20px" }, 500, function() { $(this).css({ marginTop: "0px" }).find(".con:first").appendTo(this); //函數appendTo()把第一個挪到最後一個 }); }; // demo示例二 $('#demo2 a:first').siblings().hide(); setInterval(function() { $('#demo2 a:visible').slideUp('slow', function() { $(this).next('a')[0] === undefined ? $('a:first').fadeIn("slow") : $(this).next('a').fadeIn("slow"); }); }, 1000 * 2) }); // demo示例三 var drawLetters = document.getElementById("demo3"); var dl = document.getElementById("dl"); var speed = 20; //滾動速度值,值越大速度越慢 function Marquee() { drawLetters.scrollTop++; var newNode = document.createElement("div"); newNode.innerHTML = dl.innerHTML; drawLetters.insertBefore(newNode, null); } var MyMar = setInterval(Marquee, speed); //設置定時器</script> </body> </html>
再為大傢分享一段之前收藏的代碼:jQuery文字逐行向上滾動代碼:
實現原理:整體向上滾動一行距離後,將第一行appendTo最後一行
<div class="apple"> <ul> <li><a href="#" target="_blank">你是我的小丫小蘋果 </a></li> <li><a href="#" target="_blank">怎麼愛你都不嫌多</a></li> <li><a href="#" target="_blank">紅紅的小臉兒溫暖我的心窩 </a></li> <li><a href="#" target="_blank">點亮我生命的火 火火火火</a></li> <li><a href="#" target="_blank">你是我的小丫小蘋果 </a></li> <li><a href="#" target="_blank">就像天邊最美的雲朵</a></li> <li><a href="#" target="_blank">春天又來到瞭花開滿山坡 </a></li> <li><a href="#" target="_blank">種下希望就會收獲</a></li> </ul> </div>
<script type="text/javascript"> function autoScroll(obj){ $(obj).find("ul").animate({marginTop : "-39px"},500,function(){ $(this).css({marginTop : "0px"}).find("li:first").appendTo(this); }) } $(function(){ setInterval('autoScroll(".apple")',2000); }) </script>
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。