javascript - 连续按下按钮时不工作

标签 javascript

我有以下幻灯片效果,当您连续按同一按钮两次以上时,该效果不起作用。意思是,您选择红色按钮以显示其颜色,再次按红色以隐藏该颜色。当你按第三次时,就不起作用了。要让红色再次发挥作用,您需要选择不同的颜色。所有按钮都会发生这种情况。我该如何阻止这个? fiddle demo

// When the DOM is ready, initialize the scripts.
jQuery(function( $ ){

    // Get a reference to the container.
    var container = $( ".container" );

    // Bind the link to toggle the slide.
    $( "a" ).click(function( event ){
        // Prevent the default event.
        event.preventDefault();
        var $this = $(this);
        var $target = $("#target");

        if ($target.attr("class") === $this.attr("data-color")) {
            container.slideUp(500);
        } else {
            // Hide - slide up.
            container.slideUp(500, function(){
                $target.attr("class", $this.attr("data-color"));
                // Show - slide down.
                container.slideDown(500);
            });
        }
    });

});

最佳答案

一旦颜色向下滑动,您必须删除类属性,否则它会通过您的条件:

container.slideUp(500, function() {
     $target.removeAttr("class");
});

演示:http://jsfiddle.net/k5L5N/2/

关于javascript - 连续按下按钮时不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19256047/

相关文章:

javascript - 使 onClick 按钮与 div 重叠内容

javascript - 拒绝连接! Selenium 服务器是否已启动

javascript - 在 javascript 代码中包含 .json 数据 (d3.js)

javascript - 从 UI 触发批处理文件

javascript - 如何在类组件中使用 react-router-dom v6 导航

javascript - 两个版本的函数有什么区别

javascript - JS slider 计数器不工作...需要找到一种方法让它正常工作

javascript - 关闭挑战: returning same output from first call (Javascript)

javascript - javaScript 中的类 C 代码片段定义

javascript - 使用 JavaScript 围绕其中心旋转一个三 Angular 形