我在一个隐藏的 DIV 中使用了一个名为 BXSLIDER 的 Jquery Slider,该 DIV 通过 jQuery 滑动打开。问题是滑块不会出现,除非我稍微调整浏览器的大小。
我认为这是因为滑块 javascript 在 div 打开之前加载,所以直到我调整浏览器大小后才找到正确的高度/宽度尺寸。
有什么解决方法吗?
示例位于:
示例确保单击 Cambridge,然后单击 Shopping - Then Resize
使用可见性隐藏div:隐藏或将其绝对定位在可视区域之外。然后元素仍然被渲染并且滑块可以正确初始化。我还推荐 Jquery 插件 imagesLoaded ( https://github.com/desandro/imagesloaded ),它对于在任何滑块初始化之前检查所有图像是否已完全加载非常有用。
我知道这是旧的,但它可能会在未来帮助其他人。我有一个类似的问题,在我调整窗口大小之前没有显示 JS 图表。我所做的是将初始化程序包装为一个函数,然后在事件处理程序中调用该函数(在我的情况下,它是单击按钮)。在没有细节的情况下解释很奇怪,但是这里有一个它不起作用的小提琴,这个小提琴有修复。
$("#button").click(function(){
$("#chartdiv").toggle();
makeChart();
});
function makeChart() {
var chart = AmCharts.makeChart("chartdiv", {
//all the stuff
});
}