我有一个像这样的setInterval函数。只在第一个窗口显示结果。如何包含'这个' setIntervel里面的函数。帮我解决我的问题。
$(document).ready(function(){
$("a").click(function(){
var user ='<div><b id="mainbox" name="mainbox"><form id="fm"><p id="chat-msgs"></p><input type="text" id="text" placeholder="Type msghere..."></form></b></div>'
$("#demo1").append(user);
});
});
$(document).on('click', '#mainbox', function(){
$.ajaxSetup({cache:false});
setInterval(function(){
$('#chat-msgs').load('real-auto.php');//its appear only on first window .
}, 900);
});
&#13;
<a>ram</a>
<a>ravi</a>
<a>ragul</a>
<p id='demo1'></p>
&#13;
答案 0 :(得分:2)
$(document).on('click', '#mainbox', function(){
var that = this; // store the current #mainbox
$.ajaxSetup({cache:false});
setInterval(function(){
$(that).find('#chat-msgs').load('real-auto.php');//its appear only on first window .
}, 900);
});
但是,在这里,您要反复添加一些id
的元素,并且在具有相同ID的网页中不能有多个元素。
所以用id
替换所有class
。
<a href="#">ram</a>
<a href="#">ravi</a>
<a href="#">ragul</a>
<p id='demo1'></p>
$(document).ready(function(){
$("a").click(function(){
var user ='<div><b class="mainbox" name="mainbox"><form class="fm"><p class="chat-msgs"></p><input type="text" class="text" placeholder="Type msghere..."></form></b></div>';
$("#demo1").append(user);
});
});
$(document).on('click', '.mainbox', function(){
var that = this; // store current .mainbox
$.ajaxSetup({cache:false});
setInterval(function(){
$(that).find('.chat-msgs').load('real-auto.php');//its appear only on first window .
}, 900);
});