jquery 圖片點擊放大預(yù)覽功能詳解
更新時間:2023年06月16日 09:13:13 作者:九亓
這篇文章主要介紹了jquery 圖片點擊放大預(yù)覽功能,結(jié)合實例形式詳細分析了jquery 圖片點擊放大預(yù)覽功能相關(guān)實現(xiàn)步驟、
一個簡單相冊預(yù)覽功能,可縮放可拖動,只是覺得這個功能應(yīng)該很常用,先記錄下來方便下次
代碼也都是我在項目中摳出來的,如果有什么問題歡迎留言討論

html
圖片列表的樣式我就不寫出來了 但是下面的class 和 布局結(jié)構(gòu) 都很重要:
<div>
<div><img src="images/banner.jpg" ></div>
<div><img src="images/banner.jpg" ></div>
<div><img src="images/banner.jpg" ></div>
<div><img src="images/banner.jpg" ></div>
</div>查看圖片的彈窗代碼(核心):
<div></div> <div> <div>×</div> <div> <ul > </ul> </div> <div> <div>?</div> <div>?</div> </div> </div>
彈窗的樣式
.seeImg_mask{ width:100%; height: 100%; position: fixed; top: 0px; bottom: 0px; left: 0px; right: 0px; background: rgba(0,0,0,0.7); margin: auto; z-index: 999; display: none; }
.seeImg_popup{ width: 80%; height: 80%; background: #fff; position: fixed; bottom: 200%; left: 10%; right: 0px; margin: auto; border: 10px rgba(0,0,0,0.2) solid; border-radius: 10px; z-index: 9999; }
.seeImg_close{ width: 40px; height: 40px; line-height: 35px; text-align: center; font-size: 28px; color: #fff; position: absolute; right: 0px; top: 0px; background: rgba(226, 36, 36, 0.72); cursor: pointer; }
.seeImg_swrieb{ width: 90%; height: 100%; margin: 0px auto; position: relative; overflow: hidden; }
.seeImg_list{ height: 100%; width: auto; display: flex; flex-direction: row; transition: all 0.5s; }
.seeImg_list li{ height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; overflow: hidden; }
.seeImg_list li img{
height: 90%;display: block;position: absolute; top: -160px;cursor: all-scroll;
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Chrome/Safari/Opera */
-khtml-user-select: none; /* Konqueror */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently not supported by any browser */
padding: 200px 0px;
z-index: 555;
}
.seeImg_fun{ width: 100%; height: 40px; line-height: 40px; display: flex; flex-direction: row; justify-content: space-between; box-sizing: border-box; padding: 0px 15px; position: absolute; top: 0px; bottom: 0px; left: 0px; right: 0px; margin: auto; }
.fun_label{ font-size: 50px; color: #777; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }js部分
$(document).on("click",".seeimg",function(){
$(".seeImg_list li").remove();
var seeImglistLiLeng = $(this).parents(".imgnyr").children(".img-list").length;
$(".seeImg_popup").attr("data",seeImglistLiLeng)
var arrtimg = [];
$(this).parents(".imgnyr").children(".img-list").each(function(i){
var imgse = $(this).children("img").attr("src");
arrtimg.push(imgse)
});
for( var i in arrtimg){
var html ="";
html +="<li><img src=" +arrtimg[i]+ " class='enlarge' draggable='false' onmousewheel='return bbimg(this)' /></li>";
$(".seeImg_list").append(html)
}
var seeImgswriebWight = $(".seeImg_swrieb").width();
var seeImglistWigth = seeImgswriebWight * seeImglistLiLeng;
console.log(seeImglistWigth)
$(".seeImg_mask").show();
$(".seeImg_popup").css("bottom","10%");
$(".seeImg_list").width(seeImglistWigth)
$(".seeImg_list").css("margin-left","0px")
$(".seeImg_list li").width(seeImgswriebWight)
$(".seeImg_list").children("li").each(function(i){
$(this).children("img").attr("data",i)
$(this).children("img").addClass("maxdom"+i)
})
})
$(document).on("click",".seeImg_close",function(){
$(".seeImg_mask").hide();
$(".seeImg_popup").css("bottom","200%");
})
var UlMarRig = 0;
$(document).on("click",".labelRight",function(){
var roue = $(".seeImg_swrieb").width();
var mes = $(".seeImg_popup").attr("data");
var csdx = roue * mes;
console.log(csdx)
UlMarRig = UlMarRig - roue;
if( UlMarRig <= -csdx){
UlMarRig = 0;
}
$(".seeImg_list").css("margin-left", UlMarRig)
})
$(document).on("click",".labelLeft",function(){
var emgd = $(".seeImg_swrieb").width();
var aas = $(".seeImg_popup").attr("data");
var ddx = emgd * aas;
if( UlMarRig == 0){
UlMarRig = -ddx;
}
UlMarRig = UlMarRig + emgd;
$(".seeImg_list").css("margin-left", UlMarRig)
})
var ment = 90;
function bbimg(o){
var zoom=parseInt(o.style.zoom, 10)||100;
zoom+=event.wheelDelta/12;
console.log(zoom)
if(zoom>=110){
ment = ment +10;
o.style.height = ment +'%';
}
if(zoom<110){
ment = ment -10;
o.style.height = ment +'%';
}
// console.log(ment)
}
$(document).on("mousedown",".enlarge",function(e){
var u = $(this).attr("data");
// e.pageX
var imtLeft = $(this).position().left;
var imtTop = $(this).position().top;
var distenceX = e.pageX - imtLeft; //記錄鼠標點擊的位置與div左上角水平方向的距離
var distenceY = e.pageY - imtTop; //記錄鼠標點擊的位置與div左上角數(shù)值方向的距離
$(document).mousemove(function(e){
var x = e.pageX - distenceX;
var y = e.pageY - distenceY;
if(x<0){
x= x ;
}else if(x>$(document).width()-$('.maxdom'+u).outerWidth(true)){
x = $(document).width()-$('.maxdom'+u).outerWidth(true);
}
if(y<0){
y= y;
}else if(y>$(document).height()-$('.maxdom'+u).outerHeight(true)){
y = $(document).height()-$('.maxdom'+u).outerHeight(true);
}
$('.maxdom'+u).css({'left':x+'px','top':y+'px'});
});
$(document).mouseup(function(){
$(document).off('mousemove'); //移除鼠標移動事件
});
})感興趣的朋友可以使用如下在線運行工具測試上述代碼運行效果:
http://tools.jb51.net/code/HtmlJsRun
http://tools.jb51.net/code/WebCodeRun
您可能感興趣的文章:
- jQuery實現(xiàn)等比例縮放大圖片讓大圖片自適應(yīng)頁面布局
- 基于jquery的防止大圖片撐破頁面的實現(xiàn)代碼(立即縮放)
- jQuery+css實現(xiàn)的點擊圖片放大縮小預(yù)覽功能示例【圖片預(yù)覽 查看大圖】
- jQuery實現(xiàn)鼠標滑過商品小圖片上顯示對應(yīng)大圖片功能【測試可用】
- jQuery實現(xiàn)鼠標滑過預(yù)覽圖片大圖效果的方法
- jQuery實現(xiàn)大圖輪播
- jQuery實現(xiàn)的小圖列表,大圖展示效果幻燈片示例
- jquery插件jquery.LightBox.js實現(xiàn)點擊放大圖片并左右點擊切換效果(附demo源碼下載)
- jQuery實現(xiàn)點擊小圖片淡入淡出顯示大圖片特效
- jQuery實現(xiàn)點擊查看大圖并以彈框的形式居中
- 基于jQuery插件實現(xiàn)點擊小圖顯示大圖效果
- jquery實現(xiàn)移動端點擊圖片查看大圖特效
- jQuery實現(xiàn)點擊小圖顯示大圖代碼分享
相關(guān)文章
jQuery學(xué)習(xí)之prop和attr的區(qū)別示例介紹
prop和attr的區(qū)別你知道嗎?在本文有些不錯的示例對兩者詳細介紹,感興趣的朋友不要錯過2013-11-11
jQuery插件echarts設(shè)置折線圖中折線線條顏色和折線點顏色的方法
這篇文章主要介紹了jQuery插件echarts設(shè)置折線圖中折線線條顏色和折線點顏色的方法,結(jié)合實例形式分析了jQuery圖表插件echarts設(shè)置折線圖的相關(guān)操作技巧,需要的朋友可以參考下2017-03-03
使用jquery mobile做幻燈播放效果實現(xiàn)步驟
使用jquery mobile,可以很容易實現(xiàn)幻燈播放效果,擺脫繁雜的步驟輕松實現(xiàn),接下來介紹,有需要的朋友可以參考下2013-01-01

