jQuery,make .click()在最后一个else语句中,运行第一个if语句?

时间:2012-06-13 23:38:19

标签: jquery

是否有可能使$sliderPane.click();位于最后else语句中,运行第一个if语句?

任何聪明的想法都会非常感谢。

$tabTwitter.on('click', function () {

    if ( twitterOpen == true ) {

        twitterOpen = false;
        $panelTwitter.fadeOut(500); 

        $sliderPane.animate({
            "left" : 0
        }, 500, function() {
            $sliderPane.removeAttr('style');                     
        });

    } else if ( facebookOpen == true ) {

        facebookOpen = false;
        $panelFacebook.fadeOut(500); 

        twitterOpen = true;
        $panelTwitter.fadeIn(500);

    } else {

        twitterOpen = true;
        $panelTwitter.fadeIn(500);

        $sliderPane.css({
            "left":0,"cursor":"pointer"
        }).animate({
            "left" : "-490px"
        }, 500, function() {
            $('body,html').animate({
                scrollTop: headerHeight - 69
            }, 800);
            return false;
        }).click();                 

    }

});

3 个答案:

答案 0 :(得分:1)

var clickHandler = function () {

    if ( twitterOpen == true ) {

        twitterOpen = false;
        $panelTwitter.fadeOut(500); 

        $sliderPane.animate({
            "left" : 0
        }, 500, function() {
            $sliderPane.removeAttr('style');                     
        });

    } else if ( facebookOpen == true ) {

        facebookOpen = false;
        $panelFacebook.fadeOut(500); 

        twitterOpen = true;
        $panelTwitter.fadeIn(500);

    } else {

        twitterOpen = true;
        $panelTwitter.fadeIn(500);

        $sliderPane.css({
            "left":0,"cursor":"pointer"
        }).animate({
            "left" : "-490px"
        }, 500, function() {
            $('body,html').animate({
                scrollTop: headerHeight - 69
            }, 800);
            return false;
        }).click(clickHandler);                 

    }

};

$tabTwitter.on('click', clickHandler);

答案 1 :(得分:0)

你总是可以尝试使用trigger,因为'if'是代码块中的第一个语句。

答案 2 :(得分:0)

分开命名函数。如果功能,请先调用。完成。