gpt4 book ai didi

javascript - 如何在 jQuery/javascript 中正确使用 if then else 语句?

转载 作者:行者123 更新时间:2023-11-28 20:21:17 24 4
gpt4 key购买 nike

我正在使用名为 FullCalendar 的 jQuery 插件来制作日历应用程序。我在日历左侧创建了一个选项卡,上面有日历上显示的 6 周中每一周的选项卡。因此,例如,如果您将鼠标放在“第 1 周”选项卡上,它将显示该月第一周的议程 View 。我想做到这一点,当您的鼠标移至选项卡上时,它会显示周,而当您的鼠标离开选项卡时,它会返回到正常的月 View 。我让该部分正常工作,但我也希望它能够在您实际单击选项卡时保留在该 View 上,并且不会切换回月 View 。

这是正常工作的鼠标悬停和鼠标悬停部分:

<script>
$( '#week2' ).mouseover(function() {
$('#week2').css('color', 'white');
$('#week2').week2();
});
$( '#week2' ).mouseout(function() {
$('#week2').weekout();
$('#week2').css('color', 'yellow');
});
</script>

重申一下,所做的只是当用户将鼠标放在“week2”选项卡上时,它会显示第 2 周的周 View 。这是我用来执行的不起作用的代码尝试在用户单击选项卡时使其保留在 View 上,即使鼠标离开选项卡:

<script>
var x = 0;
$( '#week1' ).click(function() {
var x = 1;
});
$( '#week1' ).mouseover(function() {
$('#week1').css('color', 'white');
$('#week1').week1();
});
$( '#week1' ).mouseout(function() {
if(x < 1) {
$('#week1').weekout();
$('#week1').css('color', 'yellow');
}
else {
null
}
});
</script>

我想做的是,如果用户单击选项卡,它会将 x 设置为 1,这样 mouseout() 函数就不会运行。但是,它无论如何都会运行:(

最佳答案

您在 $( '#week1' ).click 函数中再次定义 var x,因此该变量失去了原来的全局作用域。

更改您的代码:

$( '#week1' ).click(function() {
var x = 1;
});

至:

$( '#week1' ).click(function() {
x = 1;
});

有关 var 和作用域的文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var

关于javascript - 如何在 jQuery/javascript 中正确使用 if then else 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18277715/

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