我正在使用Flexslider来显示项目及其各自的图片。
在页面加载时会发生的情况是,所有li首先显示为带有项目符号的列表。一秒钟后,插件就会被应用。
我尝试通过CSS
隐藏原始列表(未插入插件),但无法正常工作。
编辑:我也尝试过document.ready。这也没有帮助。
修改:我也建议隐藏内容的解决方案,除非应用该插件。
如果需要任何其他细节,请告诉我。对不起,英语不是我的第一语言。
这是我的代码。
HTML :
<div id="slider" class="flexslider">
<ul class="slides">
<li>
<img src="slide1.jpg" />
</li>
<li>
<img src="slide2.jpg" />
</li>
<li>
<img src="slide3.jpg" />
</li>
<li>
<img src="slide4.jpg" />
</li>
<!-- items mirrored twice, total of 12 -->
</ul>
</div>
<div id="carousel" class="flexslider">
<ul class="slides">
<li>
<img src="slide1.jpg" />
</li>
<li>
<img src="slide2.jpg" />
</li>
<li>
<img src="slide3.jpg" />
</li>
<li>
<img src="slide4.jpg" />
</li>
<!-- items mirrored twice, total of 12 -->
</ul>
</div>
JS :
$(window).load(function() {
$('#carousel').flexslider({
animation: "slide",
controlNav: false,
animationLoop: false,
slideshow: false,
itemWidth: 210,
itemMargin: 5,
asNavFor: '#slider'
});
$('#slider').flexslider({
animation: "slide",
controlNav: false,
animationLoop: false,
slideshow: false,
sync: "#carousel"
});
});
答案 0 :(得分:0)
尝试使用文档就绪事件而不是窗口加载 -
jQuery(document).ready(function ($) {
答案 1 :(得分:0)
这里的问题是您在$(window).load(...)
事件中执行插件初始化。 load
事件的事情是它等待所有内容和 all 完全获取页面上的图像。您可能需要一个$(document).ready(...)
事件处理程序。这将更早执行,你希望看不到任何眨眼。
$(document).ready(function() {
$('#carousel').flexslider({
animation: 'slide',
controlNav: false,
animationLoop: false,
slideshow: false,
itemWidth: 210,
itemMargin: 5,
asNavFor: '#slider',
});
$('#slider').flexslider({
animation: 'slide',
controlNav: false,
animationLoop: false,
slideshow: false,
sync: '#carousel',
});
});
您可以阅读有关$(document).ready(...)
事件的更多here。它在许多情况下都很有用。阅读有关DOMContentLoaded的内容可以获得很多好处,view container containment是jQuery ready
的现代替代品,现在更受欢迎。