【发布时间】:2020-11-16 10:15:41
【问题描述】:
我有一个 HTML DIV,它由 ajax 函数使用 setinterval 更新。我想要做的是将类添加到 ajax 的结果中。但是当 setinterval 被添加的类被重置并显示初始类。如何解决这个问题。
<html>
<body>
<div id="something"></div>
<script>
$(document).ready(function(){
var id;
setInterval(function(){
somepage();
addactiveclass();
}, 5000);
function somepage(){
$.ajax({
url:"fetchcontents.php",
method:"POST",
success:function(data){
$('#something').html(data);
}
})
}
function addactiveclass(){
$('#list-'+id).addClass("active");
}
// UPDATED
$(document).on('click', '.mycontents', function(){
id = $(this).data('id');
$('#list-'+id).addClass("active");
}
});
</script>
</body>
</html>
更新: fetchcontents.php
<?php
$output .= '<div class="list-item mycontents" data-id="'.$row['id'].'" data-name="'.$row['username'].'" id="list-'.$row['id'].'">';
//.... some php function to generate some contents inside the above div.....
// Contents do not interfere with this question.
$output .= '</div>';
echo $output;
?>
发生的情况是活动类未添加到 div id="list-'.$row['id'].'"。如您所知,setinterval 会在 5 秒后继续执行 ajax 函数,并且活动类被重置并且不显示。
谁能指导我完成这个问题。
提前致谢。
【问题讨论】:
-
$.ajax中没有传递任何参数。那么我们如何理解ajaxsuccess是什么?更新您的问题。 -
嗨@KrupalPanchal,我已经更新了我上面的问题。我的问题是 setinterval 不断将类重置为初始值。
标签: php html jquery ajax setinterval