Jquery 点击图片在弹出层显示大图

http://blog.csdn.net/wongwaidah/article/details/28432427(案例链接出处,本人只是转载收藏)

<html>

<head>

<meta charset="utf-8">

<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"type="text/javascript"></script>

</head>

<body>

<div id="outerdiv" style="position:fixed;top:0;left:0;background:rgba(0,0,0,0.7);z-index:2;width:100%;height:100%;display:none;"><div id="innerdiv" style="position:absolute;"><img id="bigimg" style="border:5px solid #fff;" src="" /></div></div>

<ul id="imglist">

<li><img class="pimg" src="images/activity.jpg" width="500px" /></li>

<li><img class="pimg" src="images/activity.jpg" width="500px" /></li>

<li><img class="pimg" src="images/grd.jpg" width="500px" /></li>

<!-- <li><img class="pimg" src="img/4.jpg" width="500px" /></li>

<li><img class="pimg" src="img/5.jpg" width="500px" /></li>

<li><img class="pimg" src="img/6.jpg" width="500px" /></li>

<li><img class="pimg" src="img/7.jpg" width="500px" /></li>

<li><img class="pimg" src="img/8.jpg" width="500px" /></li>

<li><img class="pimg" src="img/9.jpg" width="500px" /></li>

<li><img class="pimg" src="img/10.jpg" width="500px" /></li> -->

</ul>

<script>

$(function(){

$(".pimg").click(function(){

var _this = $(this);//将当前的pimg元素作为_this传入函数

imgShow("#outerdiv", "#innerdiv", "#bigimg", _this);

});

});

function imgShow(outerdiv, innerdiv, bigimg, _this){

var src = _this.attr("src");//获取当前点击的pimg元素中的src属性

$(bigimg).attr("src", src);//设置#bigimg元素的src属性

/*获取当前点击图片的真实大小,并显示弹出层及大图*/

$("<img/>").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");

});

}

</script>

</body>

</html>

时间: 2024-12-31 04:05:49

Jquery 点击图片在弹出层显示大图的相关文章

jQuery点击空白关闭弹出层

给宝箱加上click事件,单击切换弹出层显示与隐藏,弹出层显示后单机任何地方都能让它关闭. 这里用到了one()指令,给body绑定一个单次的操作,jQuery代码如下: $('#info li:eq(0)').click(function(){ $('#iphone').toggle(); $('body').one('click',function(){ $('#iphone').hide(); }) return false; }) 实际上该处应该是点击非自身的空白(弹出层也算自身)关闭弹

点击图片弹出浮层显示大图

HTML <!-- 承载大图片的div --> <div id="outerdiv" style="position:fixed;top:0;left:0;background:rgba(0,0,0,0.7);z-index:2;width:100%;height:100%;display:none;"> <div id="innerdiv" style="position:absolute;"&

dialog弹出框 点击周围空白处弹出层不自动消失

dialog.setCanceledOnTouchOutside(false);// 设置点击屏幕Dialog不消失 dialog弹出框 点击周围空白处弹出层不自动消失

react 点击空白处隐藏弹出层

点击空白处隐藏弹出层的原理是:在 document 上绑定事件来隐藏弹出层,这样点击任何元素的时候都会冒泡到 document 上,都会执行隐藏弹出层的功能.然后我们在不需要隐藏弹出层的元素上阻止冒泡即可. class Select extends Component { constructor(props) { super(props); this.state = { selected: props.list[0], showList: false }; this.showList = thi

移动端当弹出层显示,阻止body的滑动

很多时候前端在做移动端有弹出层的时候,滑动屏幕,body还是可以滑动,这些时候就要阻止,话不多说,直接看代码 首先定义一个变量,我这边定义的是stop=1,当弹出层显示,stop=0,然后监听touchmove事件,阻止冒泡和默认行为,这样效果就达到了. document.addEventListener("touchmove", function (e) { if (stop == 0) { e.preventDefault(); e.stopPropagation(); } },

点击文字,弹出层

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>点击文字弹出一个DIV层窗口代码</title> <style> .black_overlay{ display: none; position: absolute; top: 0%; left: 0%; width: 100%; height:

一款基于jQuery外观优雅带遮罩弹出层对话框

今天我们要来分享一款基于jQuery的弹出层对话框插件,该插件包含多种对话框类型,比如提示框.确认框等.更为实用的是,这款jQuery对话框中的按钮事件也可以被我们所捕获,从而相应对话框按钮的各种事件,用起来非常方便. 在线预览   源码下载 实现的代码. html代码: <center class="demo"> <button onclick="payment();">缴费提示层</button> <button onc

jQuery点击空白处关闭弹出窗口

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>点击空白处关闭弹出窗口</title>

layer点击确定关闭弹出层事件

var index=parent.layer.getFrameIndex(window.name); parent.layer.close(index); parent.layer.closeAll(); var index = parent.layer.index; //获取当前弹层的索引号 parent.layer.close(index); //关闭当前弹层