//this counts how many images exist
var img_count = $("#gallery_scroller img").length;
//this is a number where I want the clicks to stop working
var limit_count = img_count/3;
var click_count = 1;
if ( limit_count > click_count){
$("#down_arrow").click(function(){
click_count++
var css_position = -1*click_count*300;
$('#gallery_scroller img').css('top', css_position);
alert(css_position+' '+limit_count+' '+click_count);
});
};
我把警报放在最后,这样我每次点击都可以观察到这些值。即使click_count大于limit_count,它也会继续运行。在if条件中,当我将click_count替换为大于limit_count的实际数字时,它可以工作。
答案 0 :(得分:3)
您的if
语句不在click
事件处理程序的代码中。附加处理程序后,只有处理程序中的代码才会在单击发生时运行。
我不完全确定你想要的结果是什么,但这可能更接近:
//this counts how many images exist
var img_count = $("#gallery_scroller img").length;
//this is a number where I want the clicks to stop working
var limit_count = img_count/3;
var click_count = 1;
$("#down_arrow").click(function(){
if ( limit_count > click_count){
click_count++;
var css_position = -1*click_count*300;
$('#gallery_scroller img').css('top', css_position);
alert(css_position+' '+limit_count+' '+click_count);
}
});
例如,将测试放在事件处理程序代码中。
旁注:if
块上的花括号末尾不需要分号,例如:
if (...) {
};
// ^--- no semi here
附注2:我在click_count++
之后添加了分号。没有它,你就依赖于automatic semicolon insertion的恐怖。你没关系,因为它之后有一个换行符,但总的来说,最好学习分号去哪里的规则,并且总是将它们包括在需要它们的地方。
答案 1 :(得分:0)
您的情况需要在事件处理程序中:
var click_count = 1;
$("#down_arrow").click(function(){
if ( click_count < limit_count ){
click_count++;
var css_position = -1*click_count*300;
$('#gallery_scroller img').css('top', css_position);
alert(css_position+' '+limit_count+' '+click_count);
};
});
答案 2 :(得分:0)
$("#down_arrow").click(function(){
if ( limit_count > click_count){
click_count++
var css_position = -1*click_count*300;
$('#gallery_scroller img').css('top', css_position);
alert(css_position+' '+limit_count+' '+click_count);
};
});