gpt4 book ai didi

jquery - slideDown/slideUp 和旋转图像

转载 作者:行者123 更新时间:2023-11-28 14:42:55 26 4
gpt4 key购买 nike

我最近接手了一个有很多自定义js的元素。我正在做的事情之一是向下扩展的堆叠菜单——它本质上是一个 Accordion ——但它的写法有点不同。我拥有的是一个人字形图标,它在元素打开时旋转 90 度,然后在元素关闭时旋转回来。我的这个工作很好:

{
this.subj.find(".category .ctitle").click(
function()
{
$(this).children(".gold-ra").toggleClass("down");
if($(this).next(".tlists").is(":visible")) {
$(this).next(".tlists").slideUp("slow");

} else {
$(this).next(".tlists").slideDown("slow");
}

但是,我遇到的问题是,如果用户在滑动操作完成之前单击,人字形旋转将与元素打开和关闭不同步(即,当元素关闭时它指向下方).

enter image description here

我试过使用幻灯片切换图像旋转,但这并不能解决问题。我什至删除了幻灯片并更改为显示和隐藏,但也没有骰子。

我正在使用 CSS 旋转图像并向下旋转类。有没有更好的方法来实现所需的滑动和旋转同步?

.gold-ra {
padding-right: 30px;
background: url("/view/liveassets/svg/RightArrowG.svg")no-repeat;
background-size: 16px 16px;
-moz-transition: all 100ms linear;
-webkit-transition: all 100ms linear;
transition: all 100ms linear;
height: 17px;
float: left;
position: relative;
top: 2px;
}

.gold-ra.down {
-moz-transform:rotate(90deg);
-webkit-transform:rotate(90deg);
transform:rotate(90deg);
transform-origin: top center;
position: relative;
top: 19px;
}

最佳答案

在您的 if/else 逻辑可能导致您的问题之前切换 .down。由于您已经具有处理打开哪个 Accordion 的逻辑,因此您也可以在其中添加人字形的添加和删除逻辑。

if($(this).next(".tlists").is(":visible")) {
$(this).next(".tlists").slideUp("slow");
$(this).children(".gold-ra").removeClass("down");
} else {
$(this).next(".tlists").slideDown("slow");
$(this).children(".gold-ra").addClass("down");
}

关于jquery - slideDown/slideUp 和旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52628825/

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