TL;DR
把下面这段代码加到html里就可以直接点开<img>
标签了。
function createFancyboxEvent() {
$('img').each(function(){
this.onclick = function(){
$.fancybox.open({
src: this.src,
type: 'image',
})
}
})
}
$(function(){
createFancyboxEvent();
})
详细
点击上面这个图片是可以放大的。
这个功能是靠 Fancybox 来实现的,我看 hexo 插件里有这个,但是我设置了fancybox=true
后并不能点开图片。
参考了 Fancybox的文档 后发现,这玩意需要大概这样去用:
<a href="image.jpg" data-fancybox data-caption="Caption for single image">
<img src="thumbnail.jpg" alt="" />
</a>
但是markdown写的时候都是直接用![desc](imgurl)
来添加图片的,这一个<a>
标签套一个<img>
标签不是很麻烦。然后又搜了搜,hexo大概有一种{\% fancybox imgurl desc %}
这样的用法,发现也不是很方便,而且生成出来的图片外面没有<p>
标签,看起来和正文会不太一致。
于是又仔细看了下文档,好像支持这样的调用方式:
$.fancybox.open({
src : 'link-to-your-page.html',
type : 'iframe',
opts : {
afterShow : function( instance, current ) {
console.info( 'done!' );
}
}
});
于是把下面这段代码加到html里就可以直接点开<img>
标签了。
function createFancyboxEvent() {
$('img').each(function(){
this.onclick = function(){
$.fancybox.open({
src: this.src,
type: 'image',
})
}
})
}
$(function(){
createFancyboxEvent();
})