Typecho添加图片Fancybox暗箱效果
图片暗箱各式各样,其实我更想要的是更加简洁的,就纯粹的一个弹出box,最重要的是美观,Fancybox效果也是相当不错,功能全面,这篇文章是搬运远航博客《Typecho添加图片暗箱效果》的,请大家对号入座。
1、引用 FancyBox插件
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
2、给文章图片添加标签
<?php
$pattern = '/\<img.*?src\=\"(.*?)\"[^>]*>/i';
$replacement = '<a href="$1" data-fancybox="gallery" /><img src="$1" alt="'.$this->title.'" title="点击放大图片"></a>';
$content = preg_replace($pattern, $replacement, $this->content);
echo $content;
?>
用上面的代码替换post.php里的
<?php $this->content(); ?>
3、在头部或者尾部初始化
<script type="text/javascript">
$(document).ready(function () {
$( ".fancybox").fancybox();
});
</script>
到此完成,我的之前文内加了懒加载,现在还在看怎么把懒加载融合到Fancybox里面去(亲忽略下面一段代码)。
<?php
$content = preg_replace('/<img(.+)src=[\'"]([^\'"]+)[\'"](.*)>/i',"<img\$1data-original=\"\$2\" src=\"../../usr/themes/blue-white/img/loading.gif\"\$3>\n<noscript>\$0</noscript>",$this->content); echo $content ?>