gpt4 book ai didi

javascript - SlideToggle 正在 Accordion 末端创建摆动

转载 作者:行者123 更新时间:2023-11-28 09:26:58 27 4
gpt4 key购买 nike

创建 Accordion - 在幻灯片上 - 正在滑动的元素下方的元素似乎向下移动了 px,然后又向上移动,从而产生了颤动效果。

$(document).ready(function() {

//Promos banners rotation and accordion
$(function(){
var $accordionList = $('.accordion').find('li');
var numberOfItems = $accordionList.length;
var currentItem = 0;

// Set first item to active
$accordionList.eq(currentItem).addClass('active').find('.content').slideToggle(800, function() {});

// Loops through promos
var infiniateLoop = setInterval(function() {

if(currentItem == numberOfItems - 1){
currentItem = 0;
}
else {
currentItem++;
}

// Remove active class, if is has it, and close content
$accordionList.parent().find('li.active').removeClass('active')
.find('.content').slideToggle(800, function() {
});

// Add active class and open content
$accordionList.eq(currentItem).addClass('active').find('.content').slideToggle(800, function() {
});

}, 4000 );

// Click to show promo
$accordionList.on('click', function () {
// Stop rotation
clearInterval(infiniateLoop);

var $accordionHead = $(this);

// Remove active class, if is has it, and close content
if($accordionHead.hasClass('active')) {
// Do nothing
}
else {
$accordionHead.parent().find('li.active').removeClass('active')
.find('.content').slideToggle(800, function() {
});

// Add active class and open content
$accordionHead.addClass('active').find('.content').slideToggle(800, function() {
});
};
});
});

});

Fiddle here demonstrating the problem

我看到一些建议您修复内容 div 的高度 - 但该网站是响应式的,因此这不起作用。

最佳答案

是的,我以前也遇到过这个问题。我最喜欢的修复方法是制作我自己的 .slideToggle()

div = $('div');
height = div.height();
width = div.width();

$('div').click( function() {
if ($(this).hasClass('hidden')) {
$(this).animate({height: "0", width: "0"}, 200).hide().addClass('hidden');
} else {
$(this).animate({height: height, width: width}, 200).show().removeClass('hidden');
}
});

如果您愿意,您甚至可以将其包装在原型(prototype)函数中。

关于javascript - SlideToggle 正在 Accordion 末端创建摆动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14220776/

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