我有一个页面,其中包含许多隐藏的 div。这些 div 使用 CSS 处理程序隐藏.div {display: none}
。
每个隐藏的 div 中都有一个 jQuery 驱动的幻灯片,使用一个名为 TN3 的 jQuery 插件构建。
每个隐藏的 div 都链接到页面上可见的照片。单击照片会显示相应的隐藏 div 并将其滑入到位。再次单击照片,或单击隐藏 div 中的关闭按钮,将其向上滑动并再次隐藏。这是使用简单的 jQuery 显示/隐藏切换脚本完成的。
我的问题是,当您单击照片并且“隐藏”的 div 变得可见时,现在可见的 div 中的 jQuery 幻灯片不起作用。
我认为这是因为幻灯片的脚本使用了一个$(document).ready()
函数。由于隐藏的 div 不是 DOM 的一部分(因为它们被设置为display:none
) - 运行幻灯片所需的 jQuery 不会触发。
我认为这给我留下了两个选择:
使用 jQuery 隐藏页面加载时隐藏的 div,而不是将 CSS 设置为
display: none
. 我认为这意味着隐藏的 div 将在页面加载时的几分之一秒内全部可见,然后它们会被 jQuery 代码隐藏——这看起来很笨重而且不可取。当用户单击照片以切换隐藏 div 的可见性时,以某种方式将操作幻灯片所需的 jQuery 代码设置为触发。这就是我陷入困境的地方 - 我不知道该怎么做。
我对 JavaScript 的了解仅限于 jQuery,并且通常仅限于使用具有$(document).ready()
. 我不知道如何在页面加载以外的另一个事件上触发代码。
幻灯片的代码如下。
任何想法将不胜感激
$(document).ready(function () {
$('.tn3-gallery').tn3({
image: {
transitions: [{
type: "fade",
easing: "easeInQuad",
duration: 423
}]
},
thumbnailer: {
overMove: false
},
mouseWheel: false
});
}); // end ready