Hexo文章中图片点击实现全屏查看

具体效果请查看:https://wugenqiang.gitee.io/articles/hexo-do-picture-screen.html

写在前面

方法一存在图片放大后不美观,建议直接跳到方法二
如果想尝试解决第一种方法出现的Bug,可以尝试一下,然后我们讨论一下,方便的话可以加我QQ:2422676183

方法一

修改post-details.js文件

文件目录:/themes/next/source/js/src/post-details.js
在文件最后添加:

//----自定义js----------------
function createImgEventFullScreen() {
  var imgs = $(".post-body").find("img");
  console.log(imgs);
  for(var i = 0;i < imgs.length;i++) {
    // $(imgs[i]).click(createCover(imgs[i]));
    imgs[i].onclick= function(e) {
      var src = e.srcElement.currentSrc;
      createCover(src)
    }
  }
  function createCover (src) {
    console.log(src);
    var cover = $("<div id='fullScreenCover' class='zhao-cover-img-container'><img class='zhao-cover-img' src='"+src+"'/></div>");
    $("#fullScreenCover").remove();
    $("body").append(cover);
    $("body").addClass("zhao-no-scroll");
    $("#fullScreenCover").click(function(){
      $("#fullScreenCover").remove();
      $("body").removeClass("zhao-no-scroll");
    })
  }
}
setTimeout(function(){
  createImgEventFullScreen();
},1000)

修改custom.styl文件

文件目录:/themes/next/source/css/_custom/custom.styl
在文件最后添加:

.zhao-cover-img-container{
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100vh;
 z-index: 10002;
 text-align: center;
 background-color: #000;
 overflow-y: scroll;
}
.zhao-cover-img{
 width: 100%;
 position: absolute;
 top: 0;
 bottom: 0;
}
.zhao-no-scroll{
 width: 100%;
 height: 100vh;
 overflow: hidden;
}

不过还是会存在一个小bug,大图片图片放大时有点不美观
如果您知道如何解决可以给我留言,谢谢啦

方法二

这种方法使用了图片浏览放大功能fancybox插件

切换到lib目录

cd next/source/lib

下载插件

git clone https://github.com/theme-next/theme-next-fancybox3 fancybox

更改主题配置文件

更改next/_config.yml文件

fancybox: true

测试效果

部署hexo s之后点击图片,如图:

完美,这种效果我很满意,你觉得呢,还是大神优秀啊~~ 好好学习!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WuGenQiang

谢谢你的喜欢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值