js html纵向滚动跑马灯,JS实现横向跑马灯效果代码

本文介绍了一种使用Ajax动态获取内容并结合CSS实现横向跑马灯效果的方法。通过JavaScript的Ajax请求获取数据,然后拼接成HTML字符串,并设置特定的CSS样式。在内容更新后,定义了一个syRunHorseLight函数,该函数负责实现内容的滚动效果,同时处理鼠标悬停时的暂停和继续滚动。这个跑马灯效果可以用于动态展示列表内容,例如通知信息。
摘要由CSDN通过智能技术生成

首先我们需要一个html代码的框架如下:

我们的目的是实现ul中的内容进行横向的一点一点滚动。ul中的内容应该是动态的。于是应该发送ajax来进行内容的获取拼接。

$.ajax({

type:"post",

dataType:"json",

url:"${contextPath}/indexPage/getSyNoticeInfo",

success:function(result){

var totalStr = "";

if(result.length>0){

for(var i=0 ; i

str = "

"+

""+result[i].peopleName+""+

"";

totalStr +=str;

}

}

$("#syNoticeUlNew").empty();

$('#syNoticeUlNew').html(totalStr);

syRunHorseLight();

}

});

拼接li时候有个class为sstzNoticeStyle。其样式如下:

.sstzNoticeStyle{

color:white; font-size:16px;text-decoration:none;

}

.sstzNoticeStyle:hover{

color:white; font-size:16px;text-decoration:none;

}

ajax调用syRunHorseLight函数,函数如下:

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);

})

}

}

跑马灯效果就此实现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值