jquery - 是什么阻止了fancybox 在重新绘制页面后正确加载?
问题描述
请有人看看我的 jquery 脚本,他们为什么要打架?在我通过 swup 启用页面转换后,fancybox 画廊停止正常工作,单击图像使其全屏显示,而不是打开 fancybox 图像覆盖。但有时在按下后,fancybox 会加载。其他时候,后退按钮不起作用,我必须刷新页面。示例问题页面:https ://www.corebots.design/photologue/gallerylist/gallery/rohace-mountains/
试图像其他脚本一样用“swup:contentReplaced”包装fancybox函数,但它不起作用。
function init() {
if (document.querySelector('#fancybox')) {
(function( $ ) {
$(function() {
$("#fancybox").fancybox();
});
})(jQuery);
}
}
// initialize swup for pages transitions
const swup = new Swup();
swup.on('contentReplaced', init);
// trying to reload fancybox as suggested by swup doc https://swup.js.org/getting-started/reloading-javascript
document.addEventListener('swup:contentReplaced', function () {
(function( $ ) {
$(function() {
$("#fancybox").fancybox();
});
})(jQuery);
});
解决方案
唯一可能干扰的是history
功能,您可以通过设置禁用它:
$("#fancybox").fancybox({
history: false
});
推荐阅读
- vba - 选择范围对象中每个单元格的行 (VBA)
- html - 我的 CSS 列不相邻
- r - 使用R中的ggplot将geom_tile移动到绘图区域之外?
- mongodb - 查询包含在多边形中的所有轨迹(经度/纬度数组)的 Mongo DB
- angular - 在 Angular 中使用组件的选择器和 ComponentFactoryResolver 动态加载组件
- json - MySQL JSON 处理 -> 和 ->> 运算符不起作用
- c++ - 如何使用带有继承的析构函数?
- javascript - 转换承诺
从超级代理响应到 Typescript 中的字符串 - python-3.x - 如何持续获取用户输入并将它们绘制在图表上?(python)
- python - Python中的日期时间模块可以格式化为输出两位数吗?