在网页的标题中有一个显示幻灯片的横幅。一个例子可以在这里找到。现在,当用户在包含照片库的页面上并单击缩略图时,将打开一个灯箱 ( shadowbox.js )。在打开灯箱的同时,应该停止幻灯片脚本,以免用户被背景分散注意力。
总结:
正常:幻灯片脚本正在执行
当用户点击缩略图时(具有一定的 rel attr “shadowbox”):幻灯片脚本应该被阻止。
当灯箱关闭时(使用 Shadowbox 的onClose
钩子?)标题中幻灯片放映的脚本应重新初始化。
对此有什么想法吗?
在网页的标题中有一个显示幻灯片的横幅。一个例子可以在这里找到。现在,当用户在包含照片库的页面上并单击缩略图时,将打开一个灯箱 ( shadowbox.js )。在打开灯箱的同时,应该停止幻灯片脚本,以免用户被背景分散注意力。
总结:
正常:幻灯片脚本正在执行
当用户点击缩略图时(具有一定的 rel attr “shadowbox”):幻灯片脚本应该被阻止。
当灯箱关闭时(使用 Shadowbox 的onClose
钩子?)标题中幻灯片放映的脚本应重新初始化。
对此有什么想法吗?
您使用的 Shadowbox 版本是v3.0.3,当前的稳定版本。
您正在使用的另一个插件的名称是Durpal Rotating Banner v6,但可以使用7.2版本。
您使用Shadowbox Hook Options以及.onOpen();
与onClose();
Rotating Banner 脚本进行交互是绝对正确的。但是,Rotating Banner 脚本除了通过自定义菜单配置选项外,没有 API 使用文档。
检查有据可查的 JavaScript 可下载压缩文件显示如何与Durpal Rotating Banner 交互,无论您使用的是什么版本。
首先,我不使用 Shadowbox 的插件版本,只使用来自Shadowbox网站的独立版本,但这种方法应该适用于那些登陆此答案的各种 Shadowbox 插件(例如,Drupal、WordPress)。
如果您无权访问Shadowbox.init({});
,请在网页的结束 body 标记之前使用此脚本,否则跳转到下一个代码块:
<script type="text/javascript">
window.onload=function(){
Shadowbox.setup('',{
// Besides 'pause' and 'resume' are 'prev', 'next', and 'stop' found in the jQuery Cycle Plugin (check inside jQuery Easing Plugin to see if it's combined).
onOpen: function(){
jQuery('.rb-slides').each(function () {
if (jQuery(this).cycle) {
jQuery(this).cycle('pause');
}
});
},
onClose: function(){
jQuery('.rb-slides').each(function () {
if (jQuery(this).cycle) {
jQuery(this).cycle('resume');
}
});
}
// If you have access to Shadowbox.init({}), then place the above onOpen and onClose in there instead of using this script.
});
};
</script>
如果您可以通过以下方式访问 Shadowbox 初始化,请Shadowbox.init({});
使用下面的onOpen();
和onClose();
部分,如图所示。
<script type="text/javascript">
Shadowbox.init({
onOpen: function(){
jQuery('.rb-slides').each(function () {
if (jQuery(this).cycle) {
jQuery(this).cycle('pause');
}
});
},
onClose: function(){
jQuery('.rb-slides').each(function () {
if (jQuery(this).cycle) {
jQuery(this).cycle('resume');
}
});
}
});
</script>
在我的测试环境中,这适用于带有 Base 或 jQuery Adapter 接口的 Shadowbox……对我来说这是一个下载选项(除了 jQuery 库)。
上面的脚本将在 Shadowbox 打开时暂停网页上找到的所有Rotating Banners,然后在 Shadowbox 关闭时将它们全部恢复。