gpt4 book ai didi

javascript - 更改 jquery 中的变量时出现问题

转载 作者:行者123 更新时间:2023-11-28 11:53:16 25 4
gpt4 key购买 nike

嘿,我在单击某个 html 元素后在 javascript/jquery 代码中重新分配变量时遇到问题,这有效吗?

  var secret = false; /* assigning boolean */

$('#facebook2').click(function() { /*reassigning "secret" to true on click*/
secret = true;
$('#link-secret').attr('id', 'link-secret2');
});


if (secret == true) { /* should only work if "secret" is true */
$("#twitter2").click(function(){
$("body").css("background-color","yellow");
});
}

我尝试将初始“ secret ”值移入和移出 $(document).ready 标记,但无济于事。我在这里遗漏了一些非常明显的东西吗?

感谢您的帮助。

编辑:感谢您的快速回答,有人可以解释为什么我的这部分代码不起作用吗?

$( "#link-secret" ).hover(function() {
$(".top-left-circle").addClass("circle-dupe");
$("#speech-bubble1, #speech-bubble2, #speech-bubblex, #speech-bubblex2, #speech-arrow" ).hide("250");


if (secret == false){
setTimeout(function() {
$( "#speech-bubblex, #speech-arrow" ).stop().show("slow");
}, 500);
} else {
setTimeout(function() {
$( "#speech-bubblex2, #speech-arrow" ).stop().show("slow");
}, 500);
}

setTimeout(function() {
$( "#speech-bubblex, speech-bubblex2, #speech-arrow" ).hide(2000);
}, 5000);
},

function() {
$(".top-left-circle").removeClass("circle-dupe")}
);

如果 Secret 为 false,则 if/else 语句的两个部分都会执行,如果为 true,则两者都不会执行。

最佳答案

问题是您的点击处理程序一开始就没有被分配,因为 secret 是假的。相反,分配处理程序,然后仅在 secret 为 true 时执行颜色更改:

var secret = false; /* assigning boolean */

$('#facebook2').click(function() { /*reassigning "secret" to true on click*/
secret = true;
$('#link-secret').attr('id', 'link-secret2');
});


$("#twitter2").click(function(){
if (secret == true)
$("body").css("background-color","yellow");
});

关于javascript - 更改 jquery 中的变量时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31617094/

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