gpt4 book ai didi

jquery - 如何以线性方式执行Jquery函数? (依次)

转载 作者:行者123 更新时间:2023-12-01 06:41:05 25 4
gpt4 key购买 nike

我不知道如何描述这一点。我在一个页面上有几个 div,类似于:

<div id="Content">
<div id="SubContent" class="LoremIpsum">
some lorem ipsum text here
</div>

<div id="SubContent" class="Shakespeare" style="display:none">
Macbeth story here
</div>
</div>

<a href="Javascript:Void(0);" onClick="ChangeStory">Change</a>

现在,当我点击“更改”链接时,我希望 LoremIpsum div 向上滑动,在完成向上滑动后,我希望 Shakespeare div 向下滑动。

目前,我有:

function ChangeStory(){
$('.LoremIpsum').slideUp();
$('.Shakespeare').slideDown();
}

事件不是一个接一个发生的,而是同时发生的。我尝试插入一些定时延迟,但效果不佳。关于如何一个接一个地运行它们有什么想法吗?

非常感谢!

最佳答案

您可以使用.slideUp()回调(所有动画都有它们),如下所示:

function ChangeStory(){
$('.LoremIpsum').slideUp(function() {
$('.Shakespeare').slideDown();
});
}

You can test it here 。或者,只需添加 .delay()与其他动画的持续时间,尽管这仅在某些情况下是首选:

function ChangeStory(){
$('.LoremIpsum').slideUp();
$('.Shakespeare').delay(400).slideDown();
}

Try that version here .

<小时/>

还要考虑以不显眼的方式绑定(bind)您的处理程序,例如将链接更改为:

<a href="#" class="ChangeStory">Change</a>

你的 JavaScript 是这样的:

$(function() {
$("a.ChangeStory").click(function (e){
$('.LoremIpsum').slideUp(function() {
$('.Shakespeare').slideDown();
});
e.preventDefault(); //prevent scrolling to top
});
});

You can test it out here .

关于jquery - 如何以线性方式执行Jquery函数? (依次),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4068299/

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