gpt4 book ai didi

javascript - 为什么我的事件处理程序中的变量没有被重置?

转载 作者:行者123 更新时间:2023-11-28 12:51:03 24 4
gpt4 key购买 nike

这是我的代码:

$(document).ready(function () {
var default_var = 2;
var show_var = default_var;
var total_var = 8;
var increment_var = 2;


var start_var = show_var+1;
var end_var = show_var+increment_var;

$("a[rel=more]").live("click", function(){

$("#timeshare-listings li:last").after("<li class='ajax'></li>");
$("#timeshare-listings li.ajax").load("http://www.goodbuytimeshare.com/listings/ajax/"+start_var+"/"+end_var+"/");
$("#timeshare-listings li.ajax").removeClass("ajax");

var show_var = end_var+1;

return false;
});
});

我第一次单击该按钮时,它完全符合我的要求。不幸的是,由于某种原因,show_var 永远不会改变它的值。为什么不?我需要做什么才能改变它?

最佳答案

 ...
var show_var = default_var;
...

$("a[rel=more]").live("click", function(){
...
// declares and initializes entirely new variable named show_var
// that will never be used again...
var show_var = end_var+1;
...
});

您要在实时 click 事件的处理程序中重新声明 show_var。不要这样做 - 只需引用外部作用域中的那个,它应该做你想要的......

 ...
var show_var = default_var;
...
$("a[rel=more]").live("click", function(){
...
show_var = end_var+1; // update value in outer scope
...
});

关于javascript - 为什么我的事件处理程序中的变量没有被重置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1022815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com