gpt4 book ai didi

javascript - 使用 jquery 在切换时添加和删除 css 图像类

转载 作者:太空宇宙 更新时间:2023-11-04 02:31:53 25 4
gpt4 key购买 nike

我试图在用户单击 artcile 的 h3 元素时切换菜单,这很像 Accordion ,但有点不同。

我无法实现的是,当调用元素的 slideToggle 函数时,图像既不显示也不改变。然而,slideToggle 工作正常,它只是我需要帮助的图像。

HTML:-

<div class="pages">
<article class="collapsible expanded collapsed">
<h3><?php echo $lang->xlate('presentation-b');?></h3>
</article>

<div class="content">
<ul>
<li>
<?php echo $lang->xlate('presentation-c');?> </li>



<li>
<?php echo $lang->xlate('presentation-d');?> </li>



<li>
<?php echo $lang->xlate('presentation-e');?> </li>
</ul>
</div>
</div>

CSS

#paragraph .pages .collapsible {
padding: 2px;
cursor: pointer;
font-weight: bold;
}
#paragraph .pages .collapsible .expanded {background: url('../img/list.png') no-repeat left top;}
#paragraph .pages .collapsible .collapsed {background: url('../img/pagination.gif') no-repeat left top;}

jQuery:-

        $('.collapsible').click(function(){
$coll = $(this);
$content = $coll.next();
$content.slideToggle(500, function () {
//execute this after slideToggle is done
//change text of header based on visibility of content div
if($(this).hasClass('expanded'))
{
$(this).toggleClass('collapsed expanded');
}
else
{
$(this).toggleClass('expanded collapsed');
}
});
});

最佳答案

添加或删除类时不需要类指示符 "."。这意味着您不会为每个状态切换背景图像。

$(this).addClass('.collapsed').removeClass('.expanded');

所以你的代码应该是

if ($(this).hasClass('.expanded')) {
$(this).addClass('collapsed').removeClass('expanded');
} else {
$(this).addClass('expanded').removeClass('collapsed');
}

关于javascript - 使用 jquery 在切换时添加和删除 css 图像类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36369057/

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