【问题标题】:Jquery toggle not working properly?Jquery 切换无法正常工作?
【发布时间】:2012-11-03 01:58:20
【问题描述】:

我有一个想要点击的按钮(在我的例子中是“.circle”)。当我单击它时,我希望#data div 淡入然后使用“margin-top:50px”进行动画处理。然后,当用户第二次单击切换按钮时,它会动画到“margin-top:0px”,然后淡出。

但是我遇到的问题是,当我第三次单击切换时,我希望它再次运行第一个功能。但相反,它做了一些奇怪的事情,并在第一个函数再次运行之前重置为 50px 的边距顶部。

我非常感谢您对此的帮助。这是我用相同的代码编写的 JSFiddle,您会在多次单击后看到我遇到的问题。还有一个问题是当你第一次点击它时它不起作用,但在第二次点击时起作用。

http://jsfiddle.net/sN8Tn/

我还会在下面发布一些jquery:

$(".button").click(function(){

        $(".button").toggle(

        function(){  
            $("#showme").fadeIn(500, 
            function(){
              $("#showme").animate({ "margin-top" : "50px" }, 500, 'linear');
            }
          );

        },

        function(){

          $("#showme").animate({ "margin-top" : "0px" }, 500, 'linear',
            function(){
              $("#showme").fadeOut(500);
            }
          );

        });

});​

【问题讨论】:

    标签: javascript jquery jquery-ui


    【解决方案1】:

    删除.click() 函数。 .toggle() 函数暗示了点击。 jQuery .toggle()jsFiddle

    $(".button").toggle(
    function() {
        $("#showme").fadeIn(500, function() {
            $("#showme").animate({
                "margin-top": "50px"
            }, 500, 'linear');
        });
    }, function() {
        $("#showme").animate({
            "margin-top": "0px"
        }, 500, 'linear', function() {
            $("#showme").fadeOut(500);
        });
    });​
    

    【讨论】:

    • 是的,这就是解决方案!完美运行
    • 非常感谢,简单的解决方案。还在习惯 Jquery :)
    • 坚持住! jQuery很强大!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多