前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实现图片灯箱功能

实现图片灯箱功能

作者头像
子舒
发布2022-06-09 14:28:48
2.6K0
发布2022-06-09 14:28:48
举报
文章被收录于专栏:子舒的个人博客

写博客必不可少的一个功能就是图片灯箱功能,也就是点击放大查看。但是不同程序的博客所使用的插件也都不一样,我这里研究出一套可以满足绝大部分程序的灯箱插件。已经测试过hexo, hugo, typecho 均无问题。

引入文件

首先引入我们关键的两个文件分别是 zoom.csszoom.js

代码语言:javascript
复制
<!-- head头部 -->
<link rel="stylesheet" href="https://cdn.imhan.cn/list/zoom.css">

<!-- body底部 -->
<!-- 如果已经有jq文件了,就不要引入jquery -->
<script src="https://cdn.imhan.cn/list/jquery3.6.0.js"></script> 
<!--图片灯箱-->
<img src="" alt="" class="bigimg">
<div class="mask"></div>
<script src="https://cdn.imhan.cn/list/zoom.js"></script>

因为这个文件是放在我自己服务器上的,所以不敢保证以后还是这个路径,建议在浏览器打开,然后把里面的代码复制到本地使用。

调用js

然后我们需要给图片一个类名,以及一个父元素盒子,同样也可以使用 jq 来完成。

这里的 .post-content 正文的类名,如果你是别的类名,可以直接将 .post-content 替换掉。

代码语言:javascript
复制
$(function(){
    $('.post-content img').addClass('smallimg')
      $('.post-content img').wrap('<div class="imgbox"></div>')

})

接着我们需要对插件进行初始化,直接在刚才的代码下面写入。

代码语言:javascript
复制
$(function(){
    $('.post-content img').addClass('smallimg')
        $('.post-content img').wrap('<div class="imgbox"></div>')

        /*
    smallimg   // 小图
    bigimg  //点击放大的图片
    mask   //黑色遮罩
    */
    var obj = new zoom('mask', 'bigimg', 'smallimg');
    obj.init();
})

回到页面上,点击正文的图片就可以成功放大了。

结束

随便放个图片试验一下吧!

之所以我限制了在正文中才可以放大,是因为网站其他地方也有图片,如果都可以点击放大,就很不合理。

如果在使用中有其他问题,欢迎留言。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021 年 12 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引入文件
  • 调用js
  • 结束
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档