gpt4 book ai didi

jquery - 第一次 jQuery fadeOut() 执行不工作

转载 作者:行者123 更新时间:2023-11-28 02:35:16 25 4
gpt4 key购买 nike

我有下面的 jQuery,它基本上在两个屏幕之间进行转换。然而,第一次 .fadeOut() 在第一个函数上执行时,它不会应用“慢”,只有在执行另一个函数后,过渡才会顺利进行。

$(".next").click(function(){
$(".first").fadeOut("slow").removeClass("active");
$(".second").fadeIn("fast").addClass("active");
});
$(".prev").click(function(){
$(".second").fadeOut("slow").removeClass("active");
$(".first").fadeIn("fast").addClass("active");
});
$(".close").click(function(){
$(".onBoarding").css("display","none");
});

我试图让它与 .delay() 一起工作,但它不起作用。有什么想法吗?

最佳答案

(我没有用于测试的 html,但我认为这可行)

.delay 没有工作,因为 .removeClass 没有经过队列,你需要等待动画完成然后删除类,你通过将回调函数传递给 fadeOutfadeIn 方法来执行此操作。

$(".next").click(function(){
$(".first").fadeOut("slow", function () {
$(this).removeClass("active");
});
$(".second").fadeIn("fast", function () {
$(this).addClass("active");
});
});
$(".prev").click(function(){
$(".second").fadeOut("slow", function () {
$(this).removeClass("active");
});
$(".first").fadeIn("fast", function () {
$(this).addClass("active");
});
});
$(".close").click(function(){
$(".onBoarding").css("display","none");
});

编辑:

而且因为我喜欢引导人们走我认为正确的道路,所以我建议您阅读 caching jQuery objects .下面我给你留下了一个在你的代码中使用它的例子:

var $next = $(".next");
var $prev = $(".prev");

var $close = $(".close");
var $onBoarding = $(".onBoarding");

var $first = $(".first");
var $second = $(".second");

$next.click(function(){
$first.fadeOut("slow", function () {
$(this).removeClass("active");
});
$second.fadeIn("fast", function () {
$(this).addClass("active");
});
});
$prev.click(function(){
$second.fadeOut("slow", function () {
$(this).removeClass("active");
});
$first.fadeIn("fast", function () {
$(this).addClass("active");
});
});
$close.click(function(){
$onBoarding.css("display","none");
});

关于jquery - 第一次 jQuery fadeOut() 执行不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47461290/

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