html点击图片可以放全屏,html:点击图片放大到全屏,再次点击缩回

做手机网页开发时,经常遇到的效果:点击某个不加链接的图片时,图片放大,当再次点击放大的图片时,图片缩回(实质上将层隐藏掉了)。

实现思路:

准备原材料:一个遮档整个屏幕的不透明接近黑色的背景层(

),一个位于背景层之上的图片容器(

) ;

加工过程:当点击不加链接的图片时,将黑色背景层显示,再通过计算原始图片尺寸与手机屏幕尺寸,使图片以恰当的比例显示在图片容器中,将图片容器显示;

当再次点击放大的图片时,将黑色背景层和图片容器隐藏。

贴出代码:

HTML:

imgSrc

CSS:

.over {position: fixed; left:0; top:0; width:100%; z-index:100;}

.tempContainer {position:fixed; width:100%; margin-right:0px; margin-left:0px; text-align:center; z-index:101;}

jQuery:

var imgsObj = $('.amplifyImg img');//需要放大的图像

if(imgsObj){

$.each(imgsObj,function(){

$(this).click(function(){

var currImg = $(this);

coverLayer(1);

var tempContainer = $('

');//图片容器

with(tempContainer){//width方法等同于$(this)

appendTo("body");

var windowWidth=$(window).width();

var windowHeight=$(window).height();

//获取图片原始宽度、高度

var orignImg = new Image();

orignImg.src =currImg.attr("src") ;

var currImgWidth= orignImg.width;

var currImgHeight = orignImg.height;

if(currImgWidth35){/*此处为了使图片高度上居中显示在整个手机屏幕中:因为在android,ios的微信中会有一个title导航,35为title导航的高度*/

topHeight=topHeight-35;

css('top',topHeight);

}else{

css('top',0);

}

html('

+%20currImg.attr(');

}else{

css('top',0);

html('

+%20currImg.attr(');

}

}else{

var currImgChangeHeight=(currImgHeight*windowWidth)/currImgWidth;

if(currImgChangeHeight35){

topHeight=topHeight-35;

css('top',topHeight);

}else{

css('top',0);

}

html('

+%20currImg.attr(');

}else{

css('top',0);

html('

+%20currImg.attr(');

}

}

}

tempContainer.click(function(){

$(this).remove();

coverLayer(0);

});

});

});

}

else{

return false;

}

//使用禁用蒙层效果

function coverLayer(tag){

with($('.over')){

if(tag==1){

css('height',$(document).height());

css('display','block');

css('opacity',1);

css("background-color","#191919");

}

else{

css('display','none');

}

}

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值