html点击图⽚弹出⼤图特效代码,Jquery点击图⽚在弹出层显⽰
⼤图
使⽤jquery,实现点击图⽚在弹出层显⽰⼤图,再次点击关闭,加⼊图⽚⾼宽和窗⼝⾼宽的⼤⼩判断。
效果图⽚如下:
1.点击前的效果:
2.点击后的效果:
html代码如下:
Js代码如下:
$(function() {
$(".pimg").click(function() {
var _this = $(this); //将当前的pimg元素作为_this传⼊函数
imgShow("#outerdiv", "#innerdiv", "#bigimg", _this);
});
});
function imgShow(outerdiv, innerdiv, bigimg, _this) {
jquery在线图片var src = _this.attr("src"); //获取当前点击的pimg元素中的src属性
$(bigimg).attr("src", src); //设置#bigimg元素的src属性
/*获取当前点击图⽚的真实⼤⼩,并显⽰弹出层及⼤图*/
$("").attr("src", src).load(function() { var windowW = $(window).width(); //获取当前窗⼝宽度
var windowH = $(window).height(); //获取当前窗⼝⾼度
var realWidth = this.width; //获取图⽚真实宽度
var realHeight = this.height; //获取图⽚真实⾼度
var imgWidth, imgHeight;
var scale = 0.8; //缩放尺⼨,当图⽚真实宽度和⾼度⼤于窗⼝宽度和⾼度时进⾏缩放
if(realHeight > windowH * scale) { //判断图⽚⾼度
imgHeight = windowH * scale; //如⼤于窗⼝⾼度,图⽚⾼度进⾏缩放
imgWidth = imgHeight / realHeight * realWidth; //等⽐例缩放宽度
if(imgWidth > windowW * scale) { //如宽度扔⼤于窗⼝宽度
imgWidth = windowW * scale; //再对宽度进⾏缩放
}
} else if(realWidth > windowW * scale) { //如图⽚⾼度合适,判断图⽚宽度
imgWidth = windowW * scale; //如⼤于窗⼝宽度,图⽚宽度进⾏缩放
imgHeight = imgWidth / realWidth * realHeight; //等⽐例缩放⾼度
} else { //如果图⽚真实⾼度和宽度都符合要求,⾼宽不变
imgWidth = realWidth;
imgHeight = realHeight;
}
$(bigimg).css("width", imgWidth); //以最终的宽度对图⽚缩放
var w = (windowW - imgWidth) / 2; //计算图⽚与窗⼝左边距
var h = (windowH - imgHeight) / 2; //计算图⽚与窗⼝上边距
$(innerdiv).css({
"top": h,
"left": w
}); //设置#innerdiv的top和left属性
$(outerdiv).fadeIn("fast"); //淡⼊显⽰#outerdiv及.pimg });
$(outerdiv).click(function() { //再次点击淡出消失弹出层$(this).fadeOut("fast");
});
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论