基于JavaScript實現(xiàn)新增內(nèi)容滾動播放效果附完整代碼
更新時間:2017年08月24日 09:46:01 作者:球球之家
這篇文章主要介紹了基于JavaScript實現(xiàn)新增內(nèi)容滾動播放效果,效果非常棒,實現(xiàn)代碼簡單易懂,需要的朋友可以參考下
先給大家展示下效果圖:

完整demo如下
每兩秒隨機向上或者向下滾動,如果要替換新內(nèi)容,則通過html()更新內(nèi)容即可(查看注釋代碼)
<!DOCTYPE html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style>
ul,li{
list-style-type:none;
border: solid;
}
ul{
overflow: hidden;/*讓li超出ul時隱藏*/
}
body{
margin: 0px;
}
</style>
</head>
<body>
<div>
<ul>
<li>
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1503543418892&di=1f606f0990cf6fa893c8330457b5fde2&imgtype=0&src=http%3A%2F%2Fi3.hoopchina.com.cn%2Fblogfile%2F201509%2F16%2FBbsImg144240668814516_480*360.jpg"/>
</li>
<li><img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1503543451619&di=a578daa6b6f794cb233f655cd5ecaf91&imgtype=0&src=http%3A%2F%2Fimg.qqzhi.com%2Fupload%2Fimg_0_3518803618D2241430362_23.jpg"/>
</li>
<li><img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1503544550636&di=086d271111b428fadf9e23abb7c06b1e&imgtype=0&src=http%3A%2F%2Fuploads.yeyoujia.com%2Fcms%2Fimages%2F2017%2F02%2F10%2F589d8e4598d46285900450.png">
</li>
</ul>
</div>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
<script>
function getRandom(min, max){
var r = Math.random() * (max - min);
var re = Math.round(r + min);
re = Math.max(Math.min(re, max), min)
return re;
}
$(function(){
setInterval(function(){
if(getRandom(0,1)==0){
//向上滾動特效
var ul = $("ul");
var $first = ul.find('li:first');
var height = $first.height();
$first.animate({
marginTop: -height + 'px'
}, 500, function() {
// $first.css('marginTop', 0).html(new Date().getMinutes()+":"+new Date().getSeconds()).appendTo(ul);/*不要寫成append*/
$first.css('marginTop', 0).appendTo(ul);
});
}else{
//向下滾
var ul = $("ul");
var liHeight = ul.find("li:last").height();//計算最后一個li元素的高度
ul.animate({marginTop : liHeight +"px"},500,function(){
// ul.find("li:last").html(new Date().getMinutes()+":"+new Date().getSeconds()).prependTo(ul);/*不要寫成prepend*/
ul.find("li:last").prependTo(ul);/*不要寫成prepend*/
ul.find("li:first").hide();
ul.css({marginTop:0});
ul.find("li:first").fadeIn(1000);
});
}
},2000);
});
</script>
</body>
</html>
效果
相關(guān)文章
Javascript中匿名函數(shù)的調(diào)用與寫法實例詳解(多種)
js中定義函數(shù)的方式有很多種,函數(shù)直接量就是其中一種,下面通過本文給大家介紹匿名函數(shù)是如何調(diào)用的及匿名函數(shù)的n中寫法,對js匿名函數(shù)調(diào)用,js匿名函數(shù)寫法相關(guān)知識感興趣的朋友一起學習吧2016-01-01
js實現(xiàn)屏蔽默認快捷鍵調(diào)用自定義事件示例
本文要說的是如何屏蔽默認的快捷鍵后去執(zhí)行自定義的事件,下面以一個textarea中enter進行保存的例子為大家詳細介紹下,感興趣的朋友可以參考下哈2013-06-06
JS實現(xiàn)將Asp.Net的DateTime Json類型轉(zhuǎn)換為標準時間的方法
這篇文章主要介紹了JS實現(xiàn)將Asp.Net的DateTime Json類型轉(zhuǎn)換為標準時間的方法,涉及javascript針對時間與日期操作的相關(guān)技巧,需要的朋友可以參考下2016-08-08
js在指定位置增加節(jié)點函數(shù)insertBefore()用法實例
這篇文章主要介紹了js在指定位置增加節(jié)點函數(shù)insertBefore()用法,實例分析了insertBefore()函數(shù)追加結(jié)點的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-01-01

