【发布时间】:2020-08-16 06:10:54
【问题描述】:
我对 JavaScript / JQuery 非常陌生,并且对应该是一个简单的条件格式化函数有一些问题。在初始页面加载时,条件格式功能本身可以正常工作;但是,在执行设置为每 60 秒运行一次的元素重新加载后,它会再次破坏条件格式。
这是 JavaScript:
$(document).ready(function(){
$('.ticker-item:contains("-")').css('color', 'red');
$('.ticker-item:contains("+")').css('color', '#2FA702');
$('.carousel-item h3:contains("Closed")').css('color', 'red');
$('.carousel-item h3:contains("Open")').css('color', '#2FA702');
});
var refreshTickers = setInterval(function () {
$("#top-bar").load(location.href+" #top-bar>*","");
}, 60000);
可能值得一提的是,只有ticker-item 格式在元素重新加载后出错。 carousel-item 格式可以正常工作。 ticker-items 在 #top-bar 元素内,而 carousel-items 不在,所以对我来说很明显问题出在 #top-bar 元素内,是重新加载的结果。
我也试过下面的代码,没有用:
$(document).ready(function(){
$('.ticker-item:contains("-")').css('color', 'red');
$('.ticker-item:contains("+")').css('color', '#2FA702');
$('.carousel-item h3:contains("Closed")').css('color', 'red');
$('.carousel-item h3:contains("Open")').css('color', '#2FA702');
});
var refreshTickers = setInterval(function () {
$("#top-bar").load(location.href+" #top-bar>*","");
$('.ticker-item:contains("-")').css('color', 'red');
$('.ticker-item:contains("+")').css('color', '#2FA702');
}, 60000);
更奇怪的是,使用这段代码,如果我将重新加载的时间间隔更改为 10 秒,它似乎会破坏格式几秒钟但然后再次修复它,就好像它正在等待其余的在赶上自己之前要执行的函数。
正如我所说,我是 JS 新手,我到处寻找解决方案。我做错了吗?
如果您需要其他任何内容(例如 HTML),请告诉我。
提前感谢您的帮助。
【问题讨论】:
-
如果你替换了内容,那么当你将它重新设置回页面时,之前应用的任何内容都不会应用到它。
-
@epascarello - 我认为可能是这样。但是,代码的第二个版本不应该工作吗? (使用“refreshTickers”功能中包含的格式?)感谢您的帮助
-
如果任何答案解决了您的问题,请务必接受它作为解决方案。
标签: javascript html jquery css reload