[英]How to hide images until AFTER jquery flexslider finishes loading
我试图在我的网站上整合wootheme的Flexslider,它看起来/效果很好,除了加载时。
当您使用滑块刷新页面时,在flexslider加载(大约1秒)之前,第一张幻灯片显得非常大并闪烁为黑色然后消失,然后出现轮播。
我认为图像的加载速度比jquery快? 我怎样才能隐藏图像,而不是jquery加载(就像在演示网站上一样,即使我刷新30亿次,问题也不会在他们的网站上重复出现,它们都能正常加载! - http://flexslider.woothemes.com/carousel -min-max.html )
我在jquery之后加载了flexlisder.js并从demo中复制了相同的html代码(以匹配同时加载的.css文件。这里是我正在使用的init代码 - 来自演示站点:
$(document).ready(function() {
$('.flexslider').flexslider({
animation: "slide",
animationLoop: false,
itemWidth: 210,
itemMargin: 5,
minItems: 2,
maxItems: 4
});
});
你需要处理你正在使用的插件的回调函数隐藏CSS中的所有图像使用类让我们说flexImages
$(document).ready(function() {
$('.flexslider').flexslider({
animation: "slide",
animationLoop: false,
itemWidth: 210,
itemMargin: 5,
minItems: 2,
maxItems: 4,
start: function(){
$('.flexImages').show();
},
});
});
将“display”的默认样式设置为“none”。 使用show()将更改此样式值。
还发现幻灯片在加载和显示之前闪烁,并在页面上显示列表项目项目符号。
只有一秒钟。 然后它工作正常。 我没有意识到我没有包含flexslider.css文件,因为我已经转向任何会显示破坏的nav img链接的导航。
记得包括CSS!
当我忘记包含flexslider.css时,我遇到了类似的问题
我只是设置包含滑块的div的CSS:overflow:hidden; 高度:您使用的图像的高度,然后它完美!
更新:这不是一个响应式解决方案,因为滑块改变了大小...我该怎么办?
...我遇到了同样的问题,尝试了上面的js解决方案 - 它工作得很好但后来我意识到当js由于某种原因被禁用时 - 没有任何东西会显示出来,所以我决定寻找一个非js解决方案:
我只是为特定的滑块添加了一些东西:
.MySlider {
.flexslider .slides img {
max-height: 400px;
width: 940px;
}
}
运作良好,甚至反应灵敏。 希望可能有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.