javascript - Slick Slider 无法在隐藏的 div 上正确加载
问题描述
标题是不言自明的。
我正在一个 html 文件中创建一个网站,根据一个函数,不同的页面只是divs
从display:none
到。在其中一个页面中,我想使用一个光滑的滑块。不幸的是,第一次显示 div 时,光滑的滑块永远不会正确加载。只有当我按下下一个/上一个按钮或调整浏览器大小时,它才会恢复活力。有没有办法解决这个问题?display:block
onclick
这是小提琴(对不起,它可能有比它需要的更多的代码行,相关的css在最后,相关的javascript很好识别):https ://jsfiddle.net/Santos1600/9xv67aL8/
到达滑块的进度是:单击“Sonhar”下方的图像,打开汉堡菜单,单击“Episódios”,使用上一个或下一个按钮查看它应该如何加载(仍在进行中,只是divs
随机灰色背景)。
解决方案
如果您在幻灯片元素隐藏时初始化幻灯片,Slick.js 无法计算出幻灯片的宽度,因此它将宽度设置为零。一种解决方案是在您展示幻灯片后刷新您的 Slick 实例。在你的情况下:
function SwapDivsWithClick(div1, div2) {
var d1 = document.getElementById(div1);
var d2 = document.getElementById(div2);
if (d2.style.display == "none") {
d1.style.display = "none";
d2.style.display = "block";
} else {
d1.style.display = "block";
d2.style.display = "none";
}
// Refresh slideshow when Episodios is revealed
if (div2 === 'episodios') {
$(".postwrapper").slick("refresh");
}
}
JS 小提琴:https ://jsfiddle.net/vhoejgum/
有关 slick.js 问题的更多信息:https ://github.com/kenwheeler/slick/issues/235
推荐阅读
- r - R中MCMCglmm模型的Gelman-Rubin统计
- python - 如何使用正则表达式在字符串中搜索特定模式
- linux - pscp: 波浪号 '~' 未被识别为主目录,如何解决?
- windows - 在批处理文件中循环文件以将它们添加为 SSL 证书
- c# - c# Windows 服务在使用 installutil.exe 发布时不起作用
- node.js - 如何通过 docker 设置我的 nodejs 后端,以便使用正确的表构建数据库?
- python - 当使用@client.event discord 时,当输入某些关键字时,bot 不会返回消息
- popmotion - Popmotion 立即结束补间并跳转到补间的末尾
- reactjs - 使地图的边界适合 React-Leaflet 中 FeatureGroup 的内容
- android - 如何检查是否启用了“多用户”