Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:点击的链接应该淡出,不接受进一步的点击_Javascript_Jquery_Fade_Fadeout - Fatal编程技术网

Javascript jQuery:点击的链接应该淡出,不接受进一步的点击

Javascript jQuery:点击的链接应该淡出,不接受进一步的点击,javascript,jquery,fade,fadeout,Javascript,Jquery,Fade,Fadeout,我现在有了链接,单击后链接会淡出: <!DOCTYPE html> <html> <head> <style> a.toggle { color:#3E6D8E; background-color: #E0EAF1; border-bottom: 1px solid #3E6D8E; border-right: 1px solid #7F9FB6; padding: 3

我现在有了链接,单击后链接会淡出:

<!DOCTYPE html>
<html>
<head>
<style>
a.toggle {
        color:#3E6D8E;
        background-color: #E0EAF1;
        border-bottom: 1px solid #3E6D8E;
        border-right: 1px solid #7F9FB6;
        padding: 3px 4px 3px 4px;
        margin: 2px 2px 2px 0;
        text-decoration: none;
        font-size: 90%;
        line-height: 2.4;
        white-space: nowrap;
}

a.toggle:hover {
        background-color: #e7540c;
        color: #E0EAF1;
        border-bottom: 1px solid #A33B08;
        border-right: 1px solid #A33B08;
        text-decoration: none;
}

a.filter {
        color:#3E6D8E;
        background-color: #E0EAF1;
        border-bottom: 1px solid #3E6D8E;
        border-right: 1px solid #7F9FB6;
        padding: 3px 4px 3px 4px;
        margin: 2px 2px 2px 0;
        text-decoration: none;
        font-size: 90%;
        line-height: 2.4;
        white-space: nowrap;
}

a.filter:hover {
        background-color: #3E6D8E;
        color: #E0EAF1;
        border-bottom: 1px solid #37607D;
        border-right: 1px solid #37607D;
        text-decoration: none;
}
</style>
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
<script>
$(document).ready(function () {
        $('a.toggle').click(function () {
                $(this).prev().andSelf().fadeOut('fast');
        });
});
</script>
</head>
<body>
<p>Please click on
<a class="filter" href="?filter=1">Tag 1</a><a class="toggle" href="/?toggle=2">X</a></p>

<p>Please click on
<a class="filter" href="?filter=2">Tag 2</a><a class="toggle" href="/?toggle=2">X</a></p>
</body>
</html>


a、 拨动{
颜色:#3E6D8E;
背景色:#E0EAF1;
边框底部:1px实心#3E6D8E;
右边框:1px实心#7F9FB6;
填充:3px4px3px4px;
边距:2×2×2×0;
文字装饰:无;
字体大小:90%;
线高:2.4;
空白:nowrap;
}
a、 切换:悬停{
背景色:#e7540c;
颜色:#E0EAF1;
边框底部:1px实心#A33B08;
右边框:1px实心#A33B08;
文字装饰:无;
}
a、 滤器{
颜色:#3E6D8E;
背景色:#E0EAF1;
边框底部:1px实心#3E6D8E;
右边框:1px实心#7F9FB6;
填充:3px4px3px4px;
边距:2×2×2×0;
文字装饰:无;
字体大小:90%;
线高:2.4;
空白:nowrap;
}
a、 过滤器:悬停{
背景色:#3E6D8E;
颜色:#E0EAF1;
边框底部:1px实心#37607D;
右边框:1px实心#37607D;
文字装饰:无;
}
$(文档).ready(函数(){
$('a.toggle')。单击(函数(){
$(this.prev()和self().fadeOut('fast');
});
});
请点击

请点击

但我现在有一个新问题,当点击“X”链接并开始淡出时,它仍然可以再次被点击,这对我的脚本不好——因为“X”不应该完全删除“标记”,而只是将其移动到一个隐藏部分下,正如你在这个屏幕截图中看到的那样。然后,随后的单击应将其向后移动:

我怎样才能防止后续点击

我可能应该调用$(this.prev().andSelf().fadeOut('fast').attr('href',XXX)?但这里的新价值应该是什么


谢谢大家!!Alex

您可以使用“
#
”,如果
href
#
,您可以在触发click事件后立即解除绑定(删除)它,确保它只运行一次

$(document).ready(function () {
        $('a.toggle').click(function () {
                $(this).unbind("click").prev().andSelf().fadeOut('fast');
        });
});

不过,与Mike所说的类似,让jQuery为您完成这项工作,而不是担心解除绑定:

    $('a.toggle').one("click", function () {
            $(this).prev().andSelf().fadeOut('fast');
    });

这意味着函数将启动一次,然后自动解除绑定。

谢谢,所以我应该调用$(This).prev().andSelf().fadeOut('fast').attr('href','#');但是如何使单击处理程序remove false呢?我还在学习jQuery文档…只需添加一个
return false在函数末尾。也就是说,
Mike
的解决方案是一个更好的解决方案(使用
unbind
)。实际上,这不起作用,因为根本没有调用底层PHP脚本-也就是说,没有单击发生,只是元素消失了,我的错误-您需要测试所单击链接的
href
,如果它是
#
,则只返回false。唯一的问题是,它将解除OP可能应用/应用于链接的任何其他单击事件处理程序的绑定。@Psytronic。它不应该这样做,因为您只是解除“this”的click事件的绑定,这将是单击的单个锚点。如果他希望将其他方法绑定到此元素的单击事件,那么唯一的冲突将出现。对不起,我遗漏了重要信息,我的意思是“应用于链接”。我会更新的,谢谢:)更简洁一点。我不知道这个函数存在。XD在我生命中出现之前,我也是如此;)StackOverflow的简写:)这是一个很棒的网站!(他们应该为奉承添加徽章)