gpt4 book ai didi

jquery - 在添加 2 个类之间添加延迟

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:54 26 4
gpt4 key购买 nike

尝试构建类似 UI 的 Accordion 。我需要在添加到类(class)之间添加延迟。由于某种原因,它没有发生。

这是html

        <div class="page page2">
<div class="pagetop">
<div class="toptxt toptext2">
Top tab
</div>
</div>
<div class="pagecnt"></div>
</div>

CSS

.page {
margin-top:6px;
position: relative;
height:67px;
overflow: hidden;
}
.openpage {
position:absolute;
top:330px;
}
.openpage2 {
height:auto;
overflow: visible;
}

和 jquery

    $(".pagetop").each(function(){
$(this).click(function(){
$(this).parent().addClass('openpage');
setTimeout(function(){
$(this).parent().addClass('openpage2');
},20000);
});
});

最佳答案

您的代码的问题是 setTimeout 中的 $(this) 指的是 window 对象。您可以使用闭包来修复它。就像下面的例子。

$(".pagetop").each(function(){
$(this).click(function(){
var self = this;
$(this).parent().addClass('openpage');
setTimeout(function(){
$(self).parent().addClass('openpage2');
},2000);
});
});
.page {
margin-top: 6px;
position: relative;
height: 67px;
overflow: hidden;
}
.openpage {
position: absolute;
top: 330px;
height: auto;
overflow: visible;
}
.openpage2 {
background: red;
height: auto;
overflow: visible;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="page page2">
<div class="pagetop">
<div class="toptxt toptext2">
Top tab
</div>
</div>
<div class="pagecnt"></div>
</div>

关于jquery - 在添加 2 个类之间添加延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27663572/

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