这个是.NET的项目,PC端的字体轮播速度会越来越快,但是在移动端就不会,上班第一天被老板要求改这个需求,求解~
#ad_wrapper { font-size: 42px; font-weight:bold; color: #ff6600; text-align: left; letter-spacing: 10px; white-space: nowrap; overflow: hidden;width: 100%; position: fixed; bottom: 30px; z-index: 999;}
#ad_wrapper #ad_inner {width: 20000%}
#ad_wrapper #ad_text {display: inline-block; margin: 0;}
<div id="ad_wrapper">
<div id="ad_inner">
id="ad_text">
div>
div>
// Ad Text START
function SetAdText(adText) {
$("#ad_text").html(adText)
if (($("#ad_wrapper")[0].offsetWidth) <= ($("#ad_text")[0].offsetWidth)) {
$("#ad_inner")[0].innerHTML += ' ' + $("#ad_inner")[0].innerHTML;
AdRolling1();
} else {
$("#ad_wrapper").css("text-align", "center");
$("#ad_inner").css("width", "100%");
}
}
function AdRolling1() {
if ($("#ad_text")[0].offsetWidth > $("#ad_wrapper")[0].scrollLeft) {
$("#ad_wrapper")[0].scrollLeft++;
setTimeout("AdRolling1()", 15);
}
else {
setTimeout("AdRolling2()", 2000);
}
}
function AdRolling2() {
$("#ad_wrapper")[0].scrollLeft = 0;
AdRolling1();
}
// Ad Text END
function StopConn() {
TO_RECONN = false;
if (HUB_CONN != undefined && HUB_CONN != null) {
HUB_CONN.stop();
}
}
越来越快说明定时器多次被加载,有多个定时器都在执行
参考GPT和自己的思路:
根据你提供的代码,问题可能是因为PC端的浏览器中的字体渲染机制与移动端不同导致的。可以尝试改变字体样式或使用不同的渲染机制来解决这个问题。另外,也可以尝试分别针对PC端和移动端设置不同的字体轮播速度,以达到更好的用户体验。
调试看看你的定时器的 interval 有没有改变,是不是同时创建了很多定时器。