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

如何在jQuery/javascript中正确使用if-then-else语句?,javascript,jquery,html,fullcalendar,Javascript,Jquery,Html,Fullcalendar,我正在使用一个名为FullCalendar的jQuery插件来制作一个日历应用程序。我在日历的左边做了一个标签,上面有日历上显示的6周中每一周的标签。例如,如果将鼠标放在“第一周”选项卡上,它将显示当月第一周的日程视图。我想这样做,当你的鼠标移动到标签上时,它会显示一周,当你的鼠标离开标签时,它会返回到正常的月份视图。我让那个部分工作,但我也希望它,这样当你实际点击标签时,它会停留在那个视图上,而不会切换回月份视图 以下是正确工作的鼠标盖和鼠标出部分: <script> $( '#w

我正在使用一个名为FullCalendar的jQuery插件来制作一个日历应用程序。我在日历的左边做了一个标签,上面有日历上显示的6周中每一周的标签。例如,如果将鼠标放在“第一周”选项卡上,它将显示当月第一周的日程视图。我想这样做,当你的鼠标移动到标签上时,它会显示一周,当你的鼠标离开标签时,它会返回到正常的月份视图。我让那个部分工作,但我也希望它,这样当你实际点击标签时,它会停留在那个视图上,而不会切换回月份视图

以下是正确工作的鼠标盖和鼠标出部分:

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

$('#week2').mouseover(函数(){
$('week2').css('color','white');
$('#week2')。week2();
});
$('#week2').mouseout(函数(){
$('week2').weekout();
$('week2').css('color','yellow');
});
再重复一下,当用户将鼠标放在“week2”选项卡上时,它会显示第2周的周视图。这是一段不起作用的代码,我正在使用该代码尝试在用户单击选项卡时使其保持在视图上,即使鼠标离开选项卡:

<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>

var x=0;
$('#week1')。单击(函数(){
var x=1;
});
$('#week1').mouseover(函数(){
$('week1').css('color','white');
$(#week1')。week1();
});
$('#week1').mouseout(函数(){
if(x<1){
$('week1').weekout();
$('week1').css('color','yellow');
}
否则{
无效的
}
});

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

您在
$('#week1')中再次定义
var x
。单击
函数,使变量失去其原始全局范围

将代码更改为:

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


关于var和作用域的文档:

您正在
$(“#week1”)中再次定义
var x
。单击
函数,使变量失去其原始全局作用域

将代码更改为:

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


关于var和作用域的文档:

var x
在完全不同的范围内重新定义,因为您使用了两次var关键字!您再次定义了var x$(“#week1”)。单击函数,在函数中必须仅标记x=1
var x
在完全不同的范围内重新定义,因为您使用了两次var关键字!您再次定义了var x$('#week1')。单击函数,在函数中必须仅标记x=1这取决于您要执行的操作,if表示if(x<1)所以它取决于你想做什么,if表示if(x<1),所以它取决于