JS實(shí)現(xiàn)橫向跑馬燈效果代碼
首先我們需要一個(gè)html代碼的框架如下:
<div style="position: absolute; top: 0px; left: 168px; width: 100%; margin-left: auto; margin-right: auto; height: 47px; border: 0px solid red; overflow: hidden;"> <ul id="syNoticeUlNew" style="margin: 0px;left:0; top:0;margin-bottom:0px;width:100%;height:47px;position:absolute;"> </ul> </div>
我們的目的是實(shí)現(xiàn)ul中的內(nèi)容進(jìn)行橫向的一點(diǎn)一點(diǎn)滾動(dòng)。ul中的內(nèi)容應(yīng)該是動(dòng)態(tài)的。于是應(yīng)該發(fā)送ajax來(lái)進(jìn)行內(nèi)容的獲取拼接。
$.ajax({ type:"post", dataType:"json", url:"${contextPath}/indexPage/getSyNoticeInfo", success:function(result){ var totalStr = ""; if(result.length>0){ for(var i=0 ; i<result.length;i++){ str = "<li style=\"list-style: none;display:inline-block;float:left;height:47px;padding-right:50px;line-height:47px;\">"+ "<a style=\"color:white;\" class=\"sstzNoticeStyle\">"+result[i].peopleName+"</a>"+ "</li>"; totalStr +=str; } } $("#syNoticeUlNew").empty(); $('#syNoticeUlNew').html(totalStr); syRunHorseLight(); } });
拼接li時(shí)候有個(gè)class為sstzNoticeStyle。其樣式如下:
.sstzNoticeStyle{ color:white; font-size:16px;text-decoration:none; } .sstzNoticeStyle:hover{ color:white; font-size:16px;text-decoration:none; }
ajax調(diào)用syRunHorseLight函數(shù),函數(shù)如下:
function syRunHorseLight() { if (syTimer != null) { clearInterval(syTimer); } var oUl = document.getElementById("syNoticeUlNew"); if(oUl != null){ oUl.innerHTML += oUl.innerHTML; oUl.innerHTML += oUl.innerHTML; oUl.innerHTML += oUl.innerHTML; var lis = oUl.getElementsByTagName('li'); var lisTotalWidth = 0; var resetWidth = 0; for (var i = 0; i < lis.length; i++) { lisTotalWidth += lis[i].offsetWidth; } for (var i = 1; i <= lis.length / 4; i++) { resetWidth += lis[i].offsetWidth; } oUl.style.width = lisTotalWidth + 'px'; var left = 0; syTimer = setInterval(function() { left -= 1; if (left <= -resetWidth) { left = 0; } oUl.style.left = left + 'px'; }, 20) $("#syNoticeUlNew").hover(function() { clearInterval(syTimer); }, function() { clearInterval(syTimer); syTimer = setInterval(function() { left -= 1; if (left <= -resetWidth) { left = 0; } oUl.style.left = left + 'px'; }, 20); }) } }
跑馬燈效果就此實(shí)現(xiàn)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS實(shí)現(xiàn)導(dǎo)航欄樓層特效
- AngularJS實(shí)現(xiàn)的錨點(diǎn)樓層跳轉(zhuǎn)功能示例
- JS實(shí)現(xiàn)留言板功能[樓層效果展示]
- 純html+css+javascript實(shí)現(xiàn)樓層跳躍式的頁(yè)面布局(實(shí)例代碼)
- js實(shí)現(xiàn)樓層導(dǎo)航功能
- js實(shí)現(xiàn)樓層效果的簡(jiǎn)單實(shí)例
- js實(shí)現(xiàn)九宮格布局效果
- js實(shí)現(xiàn)小時(shí)鐘效果
- JS實(shí)現(xiàn)網(wǎng)站樓層導(dǎo)航效果代碼實(shí)例
相關(guān)文章
zeroclipboard 單個(gè)復(fù)制按鈕和多個(gè)復(fù)制按鈕的實(shí)現(xiàn)方法
最近網(wǎng)站改版想讓復(fù)制代碼功能在多個(gè)瀏覽器上都可以實(shí)現(xiàn),最近看網(wǎng)上不少說(shuō)我們的代碼復(fù)制功能不好用的,我們最近將會(huì)增加代碼高亮等功能,希望大家多多支持我們2014-06-06JavaScript中的數(shù)組遍歷forEach()與map()方法以及兼容寫(xiě)法介紹
下面小編就為大家?guī)?lái)一篇JavaScript中的數(shù)組遍歷forEach()與map()方法以及兼容寫(xiě)法介紹。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05詳解JavaScript原生封裝ajax請(qǐng)求和Jquery中的ajax請(qǐng)求
在本篇文章中我們總結(jié)了關(guān)于JavaScript原生封裝ajax請(qǐng)求和Jquery中的ajax請(qǐng)求的知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)參考下。2019-02-02實(shí)現(xiàn)checkbox全選、反選、取消JavaScript小腳本異常
實(shí)現(xiàn)checkbox全選,反選,取消JavaScript小腳本的時(shí)出現(xiàn)點(diǎn)小異常,大家可以看看,以后就不要犯這個(gè)特別2的錯(cuò)誤了2014-04-04Javascript異步編程async實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了Javascript異步編程async實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04canvas實(shí)現(xiàn)環(huán)形進(jìn)度條效果
本文主要介紹了canvas實(shí)現(xiàn)環(huán)形進(jìn)度條效果的實(shí)例。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03