gpt4 book ai didi

javascript - jQuery click 函数同时触发

转载 作者:行者123 更新时间:2023-11-28 00:19:24 25 4
gpt4 key购买 nike

我有两个似乎同时触发的点击功能。我需要第二个只在第一个之后发生。

因此,第一个 SlideDown 工作正常,但一旦完成,我希望它停止,然后单击 .close 类时发生的 SlideUp。

$(".trigger").click(function() {
$(".mobileWrap").slideDown(500);
$(".mainContentBg").addClass("height", 1000);
$(".trigger").text("Read less");
$(".trigger").addClass("close");
$(".close").removeClass("trigger");
});
$("body").on("click", ".close", function() {
$(".mainContentBg").removeClass("height", 1000);
$(".mobileWrap").slideUp(1000);
$(".trigger").addClass("trigger");
$(".trigger").text("Read more");
});

http://jsfiddle.net/6hvZT/648/

谢谢

最佳答案

您的代码有问题:

随着close类的添加,委托(delegate)点击被触发。

<强> Updated Fiddle

如果您希望切换More-Less;您可以只使用toggleClassslideToggle而不是两个不同的点击事件,slideUp/SlideDown 和 addClass/removeClass。

下面是缩短的代码。

$(".trigger").click(function() {
$(".mobileWrap").slideToggle(500);
$(".mainContentBg").toggleClass("height", 1000);
$(".trigger").text(function(){
return this.innerText === "Read less"? "Read more":"Read less"
});
});

此外,如果您有多个此类实例,则在处理程序内最好使用 $(this) 而不是 $('.trigger')

关于javascript - jQuery click 函数同时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30172502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com