ارسال اخرین id به setInterval
درود....
من میخوام هر بار که روی لینک مورد نظر کلیک کردم مقدار id رو به صفحه ajax.php در هر سه ثانیه بفرستم...
برای اولین بار روی لینک کلیک میکنم درست کار میکنه....مثلا id =1 رو اجرا میکنه هر سه ثانیه حالا اگه رو یه لینک دیگه کلیک کنم مثلا id=2 هر سه ثانه هم مقدار 1 و هم مقدار 2 رو به صفحه ajax.php ارسال میکنه....من میخوام اخرین مقدار کلیک شده ارسال بشه....هر کاری میکنم نمیتونم...
:گیج:
$("[href='#topopup']").live("click",function() {
var id= $(this).attr('class');
var interval = setInterval (function() {
$("#ajax").load("ajax.php",{id:id},function(){
});
}, 3000);
});
نقل قول: ارسال اخرین id به setInterval
کد html مربوط به لینکها رو هم بزار..
اسکریپت که درسته... مشکلش باید از مقداری که به id تخصیص میدید باشه... باید ساختار html (لینک ها) رو دید.
نقل قول: ارسال اخرین id به setInterval
سلام. شما باید داخل فانکش کدی بزنید که اگر ID جاری با ID قبلی متفاوت بود (یعنی هر بار ID رو داخل یه متغییر ذخیره کنید)، متغییر interval را remove کند و دوباره متغییر interval را با تابع جدید مقدار دهی کنید.
نقل قول: ارسال اخرین id به setInterval
میتونی یکی از دو کد زیر رو استفاده کنی، فکر کنم جواب بده:
var interval = setInterval (function() {
if(id!=pid) {
clearInterval(this.interval);
interval = setInterval (function() { $("#ajax").load("ajax.php",{id:id},function(){ }); }, 3000);
} else {
$("#ajax").load("ajax.php",{id:id},function(){ });
}
}, 3000);
var pid = id;
یا
var interval = setInterval (function() {
clearInterval(this.interval);
interval = setInterval (function() { $("#ajax").load("ajax.php",{id:id},function(){ }); }, 3000);
}, 3000);
نقل قول: ارسال اخرین id به setInterval
اینم کد html
کد HTML:
<ul>
<li><a href="#topopup" class="1">1</a></li>
<li><a href="#topopup" class="2">2</a></li>
<li><a href="#topopup" class="3">3</a></li>
<li><a href="#topopup" class="4">4</a></li>
<li><a href="#topopup" class="5">5</a></li>
<li><a href="#topopup" class="6">6</a></li>
</ul>
نقل قول: ارسال اخرین id به setInterval
البته از اونجایی که فکر کردم، امکان داره کدها خطا داشته باشه، کد زیر رو هم زدم:
کد HTML:
var interval = setInterval (function() { $("#ajax").load("ajax.php",{id:id},function(){ }); }, 1);
setInterval (function() {
clearInterval(this.interval);
interval = setInterval (function() { $("#ajax").load("ajax.php",{id:id},function(){ }); }, 1);
}, 3000);
البته این کد ها رو من همین الان داخل notepad میزنم و حتما خطاهایی هم داره چون نه درموردش فکر می کنه و نه تستش می کنه :چشمک::قهقهه: :گیج:
نقل قول: ارسال اخرین id به setInterval
سپاس گذارم...
ولی هیچ کدومش کار نمیکنه...
نقل قول: ارسال اخرین id به setInterval
نقل قول: ارسال اخرین id به setInterval
جالب بود... یه چیز جدید یاد گرفتیم...
مرسی که راه حلش رو هم گفتی ;)