您好,登錄后才能下訂單哦!
這篇文章主要講解了JS實(shí)現(xiàn)橫向跑馬燈的方法,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
首先我們需要一個(gè)html代碼的框架如下:
<div > <ul id="syNoticeUlNew" > </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)。
看完上述內(nèi)容,是不是對(duì)JS實(shí)現(xiàn)橫向跑馬燈的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。