我引用的变量不断重置为0,为什么?每个部分都有一组Previous和Next按钮,最初它们工作正常,但当我返回到一个部分时,该部分的计数器设置为0.它应该保留它之前设置的数字。提前致谢。这不是正在使用的实际代码,但它演示了这个问题(我希望)
var currentPageIndex = null;
var section1_count = 0;
var section2_count = 0;
var section3_count = 0;
function checkSectionPage( value ){
switch(value){
case "section1":
currentPageIndex= section1_count;
break;
case "section2":
currentPageIndex= section2_count;
break;
case "section3":
currentPageIndex= section3_count;
break;
}
}
$('.slidePrevious').click(function(){
checkSectionPage($(this).parent().attr('id'));
currentPageIndex--;
});
$('.slideNext').click(function(){
checkSectionPage($(this).parent().attr('id'));
currentPageIndex++;
});
答案 0 :(得分:1)
您永远不会更新#_count部分。将currentPageIndex
设置为该部分时,部分编号不仅会增加。您需要手动更新它。
做这样的事情:
var activeSection = "section1";
var sects = {
"section1" : 0,
"section2" : 0,
"section3" : 0
};
$('.slidePrevious').click(function(){
sects[$(this).parent().attr('id')]--;
});
$('.slideNext').click(function(){
sects[$(this).parent().attr('id')]--;
});
答案 1 :(得分:0)
你没有增加/减少你认为的是什么 你想要这样的东西:
currentPageIndex = "section1_count";
...
window[currentPageIndex]++;
(裸vars,"全局变量",在浏览器上下文中实际上是window
对象中的字段)
或者将你的计数移动到一个对象(比如@ pascarello的回答),或者将这些计数移动到一个数组中:
var pageIndexes = [ 0, 0, 0 ];
which = 1;
...
pageIndexes[which]++;