我对js和jquery很新,我发现jquery-starters都遇到了同样的if else问题。我在其他网站或这里搜索了多少,这个例子在这一点上很复杂;)任何人都可以帮我解决这个非常基本的陈述,意味着很多......
问题:我想在4次点击后隐藏按钮。我使用变量来计算点击次数,但结果是按钮在点击一次后隐藏,而不是4.任何人?
<script>
$(document).ready(function(){
var x = 0;
$(".but_mirror_right").click(function(){
$("#spiegel_links").animate({left:'+=200%'}, 6000);
x += 1;
alert(x);
if (x = 4) {
$("#but_right").hide();
}
else {
$("#but_right").show();
}
});
});
</script>
答案 0 :(得分:1)
更改此行
if (x = 4) {
到这个
if (x === 4) {
第一个将{4}分配给x
,它总是计算为true,因此始终遵循分支。第二个测试平等。
答案 1 :(得分:1)
尝试更改
if (x = 4) {
到
if (x == 4) {
或
if (x === 4) {
=
是赋值运算符,语句x = 4
将始终返回true,这就是代码无法按预期工作的原因。您应该将其替换为==
或===
答案 2 :(得分:0)
if (x = 4)
应该是
if (x === 4)
答案 3 :(得分:0)
将.red.tab.current
更改为if(x=4)
(x==4)
&#13;
$(document).ready(function() {
var x = 0;
$(".but_mirror_right").click(function() {
// $("#spiegel_links").animate({
// left: '+=200%'
// }, 6000);
x += 1;
console.log(x);
if (x == 4) {
$("#but_right").hide();
} else {
$("#but_right").show();
}
});
});
&#13;
答案 4 :(得分:0)
$(document).ready(function() {
var x = 0;
$(".but_mirror_right").click(function() {
x ++;
console.log(x);
if (x >= 4) {
$("#but_right").hide();
} else {
$("#but_right").show();
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="but_mirror_right">button</button>
<button id="but_right">toggle</button>
<p>Button will disable after 4 click</p>
你正在给4分x。检查
'=' '==' '==='
运营商