zishu's blog

zishu's blog

一个热爱生活的博主。https://zishu.me

實現圖片燈箱功能

寫博客必不可少的一個功能就是圖片燈箱功能,也就是點擊放大查看。但是不同程序的博客所使用的插件也都不一樣,我這裡研究出一套可以滿足絕大部分程序的燈箱插件。已經測試過 hexo, hugo, typecho 均無問題。

引入文件#

首先引入我們關鍵的兩個文件分別是 zoom.csszoom.js

<!-- 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 替換掉。

$(function(){
	$('.post-content img').addClass('smallimg')
  	$('.post-content img').wrap('<div class="imgbox"></div>')

})

接著我們需要對插件進行初始化,直接在剛才的代碼下面寫入。

$(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();
})

回到頁面上,點擊正文的圖片就可以成功放大了。

結束#

隨便放個圖片試驗一下吧!

image

之所以我限制了在正文中才可以放大,是因為網站其他地方也有圖片,如果都可以點擊放大,就很不合理。

如果在使用中有其他問題,歡迎留言。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。