为什么我无法点击我的功能来显示和隐藏?

时间:2013-10-13 00:00:02

标签: javascript

嘿,我在重写代码时遇到了困难,但点击显示时却无法正常工作。我该如何解决这个问题。代码工作打开500然后假设通过点击工作。但它不起作用。这是代码:

var timer;
$(".c_left").animate({ marginRight: "30px"}, "slow");
$(".c_right").animate({ marginRight: "215px"}, "slow", function () {
    timer = setTimeout(function () {
        $(".c_left").animate({ marginRight: "-155px"}, "slow");
        $(".c_right").animate({ marginRight: "30px"}, "slow");
    }, 500);
}); 
$(".icon-menu-2").click(function show() {
    $(".c_left").show.animate({ width: 200, marginRight: 30, display: 'toggle'}, 'slow');
    $(".c_right").show.animate({ marginRight:215, display:'toggle'}, 'slow', function () {
        clearTimeout(timer);
        });
}, function hide() {
    $(".c_left").animate({ marginRight: -155, display: 'toggle'}, 'slow');
    $(".c_right").animate({ marginRight:30, display:'toggle'}, 'slow');
    });

http://jsfiddle.net/jL5hU/

如何修复我的代码?

1 个答案:

答案 0 :(得分:1)

由于 bfvareto 已注释.show()是一个功能,您无法仅使用.show

来调用它

你这里也有奇怪的代码:.click(function show() {。不太清楚你的意思,无论如何都要尝试我的代码建议......

var timer; var open;
$(".c_left").animate({ marginRight: "30px"}, "slow");
$(".c_right").animate({ marginRight: "215px"}, "slow", function () {
    timer = setTimeout(function () {
        $(".c_left").animate({ marginRight: "-155px"}, "slow");
        $(".c_right").animate({ marginRight: "30px"}, "slow");
        open = false;
    }, 500);
}); 
$(".icon-menu-2").click(function() {
    if(open){
        $(".c_left").animate({ marginRight: "-155px"}, "slow");
        $(".c_right").animate({ marginRight: "30px"}, "slow");
    } else {
        $(".c_left").animate({ marginRight: "30px"}, "slow");
        $(".c_right").animate({ marginRight: "215px"}, "slow");            
    }
    open = !open;
});

演示here