class - 有什么方法可以用类而不是 data-fancybox 属性来触发fancybox 3?
问题描述
我有动态添加的图像链接(Ajax),它只包含一个特定的类,我想让它们与 Fancybox 3 一起工作。那么,有没有办法用一个类而不是 data-fancybox 属性来触发fancybox 3?我试图指定选择器但没有成功。
另一种解决方案是使用 jQuery 添加属性,但由于它是动态加载的,因此不适用于此。
呈现的 HTML
<a href="IMAGE_URL" class="thickbox" >
<img src="THUMBNAIL_IMG" />
</a>
JS
jQuery(document).ready(function($) {
$.fancybox({
type : 'image',
selector : '.thickbox'
});
$('.thickbox').attr('data-fancybox');
});
我搜索了一个解决方案,但我还没有找到一个,所以我被困住了。
解决方案
好的,多亏了这个CODEPEN,我终于找到了可行的解决方案。
jQuery(document).ready(function($) {
$().fancybox({
selector : '.thickbox'
});
});
这使得 Facybox 3 仅使用类名,因此无需使用data-fancybox
属性。
顺便说一句,我没有提到它,但我的目的是替换wordPress前端中一些 WP 插件(在我的情况下为 BuddyPress 重新加载的 Activity Plus )使用的原生厚箱灯箱。
这是我在前端禁用Thickbox并将Fancybox添加到WordPress而不使用插件的完整PHP片段。
<?php
// DISABLE THICKBOX LIGHTBOX FRONTEND
function wpse71503_init() {
if (!is_admin()) {
wp_deregister_style('thickbox');
wp_deregister_script('thickbox');
}
}
add_action('init', 'wpse71503_init');
// ADD FANCYBOX LIGHTBOX
function fancy_enqueue_scripts() {
if (!is_admin()) {
wp_enqueue_script( 'fancybox-script', 'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js', array(), '', true );
}
}
add_action( 'wp_enqueue_scripts', 'fancy_enqueue_scripts' );
function fancy_CSS_callback() {
if (!is_admin()) {
wp_enqueue_style( 'fancybox-style','https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.css' );
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
$().fancybox({
selector : '.thickbox, .fancybox'
});
});
</script>
<?php
}
};
add_action( 'wp_footer', 'fancy_CSS_callback' );
?>
希望这可以帮助某人。
推荐阅读
- java - 如何使用 nanohttpd 下载已安装的应用程序
- python-3.x - 已存在另一个同名指标
- javascript - CSS:我在 div 底部得到的这个奇怪的空间是什么?
- flutter - 如何使用 SingleChildScrollView 在 TabBarView 内实现 Column?
- php - Dreamhost php sql 错误“找不到驱动程序”
- zsh - zsh ${var##$pat} 参数扩展,带有包含 glob 的模式 var
- django - 我是否需要 Django“站点”框架来为单站点 django 项目构建站点地图?
- reactjs - 使用基于 jason 状态的类名包添加多个类名
- azure - 在 Azure 数据工厂中执行 SSIS 包时出现空错误
- python - 为什么即使正在打印摘要,也没有使用 plot_model 在 google colab 上绘制功能 API 模型?