【发布时间】:2020-12-14 23:03:45
【问题描述】:
我必须在我的网站上使用一个 jQuery 响应式轮播,其中包含 4 个显示的项目,一次滑动一个,等等。关键是:这个轮播被放置在一个带有 display:none 的 div 中,并且它似乎点击了一个按钮使用 slideToggle 脚本(jQuery)。好吧,当 div 出现时,轮播不会显示。没有什么!请注意,如果我删除display:none,轮播将完美显示。我尝试了一堆轮播插件(bxslider、caroufredsel、elastislide、flexslider),所有这些都发生了这个问题。然后……我要疯了!!
不好意思朋友,这里是代码:
HTML(这里是FlexSlider 的情况,但其他插件的代码类似)
<div id="hiddenDiv">
<div id="hiddenDivInner">
<div class="flexslider">
<ul class="slides">
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
</div>
</div>
</div>
CSS
#hiddenDiv{
display:none;
padding-bottom:10px;
background: url("../img/xxx.gif") repeat left bottom #FFFFFF;
}
SCRIPT(从站点复制粘贴。此脚本在$(document).ready 与其他脚本之间。已经尝试删除load 函数)
$(window).load(function() {
$('.flexslider').flexslider({
animation: "slide",
animationLoop: false,
itemWidth: 300,
itemMargin: 5,
minItems: 1,
maxItems: 4
});
});
$("#trigger").click(function () {
$("#hiddenDiv").slideToggle(400, "easeInOutExpo");
});
我提醒您,使用此代码和 否 display:none 每个轮播都可以工作,如果我使用 slideToggle 按钮 (#trigger) 向上然后向下滑动 div。
【问题讨论】:
-
您确定按钮将显示该 div 的属性设置为阻止?
-
请出示您的代码。
-
I've tried a bunch of carousel plugin (bxslider, caroufredsel, elastislide, flexslider) and this issue happens for all of them. And then... I'm going crazy!!这意味着它不是轮播 -
你能提供你的jquery代码吗。
-
很可能轮播在初始化时需要可见,这样它才能正确获取动画的高度/宽度。尝试在隐藏之前或在显示之后初始化轮播。