gpt4 book ai didi

jquery - 我怎样才能使这个 jQuery 比我现有的更快?

转载 作者:行者123 更新时间:2023-12-01 00:16:26 24 4
gpt4 key购买 nike

目前,我将此脚本用于一种“选项卡”系统。单击一个选项卡时,它会隐藏所有其他选项卡。他们都是div的。但现在,我认为在选定的 div 加载之前它的褪色速度不够快。它最终会移动到所选且现在显示的 div 下方。

我不需要切换,因为如您所见,我有 5 个选项卡,我想在单击它们时打开它们各自的“_s”div。淡出、淡入。

有什么方法可以让淡出发生在淡入之前,或者添加延迟吗?我不知道如何在这个脚本中添加延迟,或者检查以确保 div 在新 div 淡入之前完全淡出。

如果有任何帮助,我将不胜感激。谢谢!

<script>
$("#teach_one").click(function() {
$("#teach_one_s").fadeIn("slow");
$("#teach_two_s").fadeOut("fast");
$("#teach_three_s").fadeOut("fast");
$("#teach_four_s").fadeOut("fast");
$("#teach_five_s").fadeOut("fast");
});

$("#teach_two").click(function () {
$("#teach_two_s").fadeIn("slow");
$("#teach_one_s").fadeOut("fast");
$("#teach_three_s").fadeOut("fast");
$("#teach_four_s").fadeOut("fast");
$("#teach_five_s").fadeOut("fast");
});

$("#teach_three").click(function () {
$("#teach_three_s").fadeIn("slow");
$("#teach_one_s").fadeOut("fast");
$("#teach_two_s").fadeOut("fast");
$("#teach_four_s").fadeOut("fast");
$("#teach_five_s").fadeOut("fast");
});

$("#teach_four").click(function () {
$("#teach_four_s").fadeIn("slow");
$("#teach_one_s").fadeOut("fast");
$("#teach_two_s").fadeOut("fast");
$("#teach_three_s").fadeOut("fast");
$("#teach_five_s").fadeOut("fast");
});

$("#teach_five").click(function () {
$("#teach_five_s").fadeIn("slow");
$("#teach_one_s").fadeOut("fast");
$("#teach_two_s").fadeOut("fast");
$("#teach_three_s").fadeOut("fast");
$("#teach_four_s").fadeOut("fast");
});
</script>

这是根据您的要求我的 HTML:

<ul class="noselect teach_home_navigator_tabs">

<li id="teach_one">

</li>
<li id="teach_two">

</li>
<li id="teach_three">

</li>
<li id="teach_four">

</li>
<li id="teach_five">

</li>

</ul>


<div class="infotab teach_round" id="teach_one_s">
stufff
</div>

<div class="infotab teach_round" id="teach_two_s">
stufff
</div>

<div class="infotab teach_round" id="teach_three_s">
stufff
</div>

<div class="infotab teach_round" id="teach_four_s">
stufff
</div>

<div class="infotab teach_round" id="teach_five_s">
stufff
</div>

最佳答案

没有看到你的标记,我不能确定,但​​是,为了简化你的 jQuery,并减少重复,你可以尝试使用这样的东西:

$('div[id^="teach_"]').click(
function(){
var showThis = this.id + '_s';
$('#' + showThis).fadeOut('slow',
function(){
$('div[id$="_s"]').not($(this)).fadeIn('fast');
});
});
<小时/>

编辑以响应 @Josh 提供的 html。

$('.each_home_navigator_tabs li').click(
function(){
var showThis = this.id + '_s';
$('.infotab:visible').fadeOut('slow',
function(){
$('#' + showThis).fadeIn('fast');
});
});

引用文献:

关于jquery - 我怎样才能使这个 jQuery 比我现有的更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5399632/

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