我们想要实现的效果是:

点击一张小图,会在页面的居中位置显示一张大图。
使用了animate动画函数,有从小图到大图,从小图位置到居中位置的轨迹。
支持IE7及以上浏览器,火狐、谷歌浏览器。
大图得居中位置,我主要使用了如下代码:
var width=$('.alert').find('img').width();//大图得宽高
var height=$('.alert').find('img').height();
var lwidth=$(window).width();//屏幕中页面可见区域的宽高
var lheight=$(window).height();
var x2=lwidth/2-width/2+$(window).scrollLeft();//在屏幕居中的坐标
var y2=lheight/2-height/2+$(window).scrollTop();
这里面加上了滚动条的宽度和高度,这样可以在有滚动条的情况下也是居中显示的。
主要的代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>单击文字或图片内容放大显示</title>
<script src="../jquery-1.8.3.min.js"></script>
<style>
*{margin:0;padding:0;}
ul{overflow:hidden;list-style:none;margin:1000px auto;}
ul li{float:left;height:150px;width:130px;margin:0 10px;}
.bigpic{position:absolute;display:none;}
.alert{background:#fff;border:solid #ccc 1px;padding:10px;}
.alert a.close{position:absolute;top:0;right:0;}
</style>
</head>
<body>
<ul>
<li><img src="mm1.jpg"></li>
<li><img src="mm2.jpg"></li>
<li><img src="mm3.jpg"></li>
<li><img src="mm4.jpg"></li>
</ul>
<div class="bigpic" style="display:none;">
<div class="pic-one"><img src="m1.jpg"></div>
<div class="pic-two"><img src="m2.jpg"></div>
<div class="pic-three"><img src="m3.jpg"></div>
<div class="pic-four"><img src="m4.jpg"></div>
</div>
<div class="alert" style="display:none;">
<a class="close" href="javascript:;" rel="external nofollow" >关闭</a>
</div>
<script>
var x=0;
var y=0;
$('ul li').click(function(e){
var index=$(this).index();
x= e.pageX|| e.clientX+$(window).scrollLeft();//鼠标点击的坐标
y= e.pageY|| e.clientY+$(window).scrollTop();
$('.alert').css({position:'absolute',top:y,left:x,width:'1px',height:'1px',overflow:'hidden'});
var bigpic=$('.bigpic').find('div').eq(index).find('img').attr('src');//找到相对应的大图片
$('.alert').find('img').remove();
$('.alert').append("<img src="+bigpic+">");//添加大图
$('.alert').show();
var width=$('.alert').find('img').width();//大图得宽高
var height=$('.alert').find('img').height();
var lwidth=$(window).width();//屏幕页面可见区域的宽高
var lheight=$(window).height();
var x2=lwidth/2-width/2+$(window).scrollLeft();//在屏幕居中的坐标
var y2=lheight/2-height/2+$(window).scrollTop();
$('.alert img').css({width:'100%'});
$('.alert').animate({left:x2,top:y2,width:width,height:height},300);
})
//这出现一个问题,当alert宽度和高度都为15px时或以下,如果不加padding,img是100%,就会造成图片不是从左上角开始的,上面就会有空白,这是因为父元素是块状元素,有自己的行间距,二他的子元素是行内元素,这样就会有空隙,此时解决方法有两个,
// 给img加上display:block属性,形成块状元素;
// 或者img还是内联元素,此时使用vertical-align:top可以向上对齐。
//把父元素的间距设置为0,或者父元素的font-size设置为0yekeyi
$('.alert a.close').click(function(){
//console.log(x+'```'+y);
$('.alert').animate({left:x,top:y,width:'1px',height:'1px'},300); //全局变量
$('.alert').fadeOut(100);
})
</script>
</body>
</html>
效果可复制代码,自行在页面中查看。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# jquery
# 点击放大
# 居中显示
# jQuery实现等比例缩放大图片让大图片自适应页面布局
# 基于jquery实现一张图片点击鼠标放大再点缩小
# jQuery当鼠标悬停时放大图片的效果实例
# jQuery实现图片放大预览实现原理及代码
# 基于jquery的滚动鼠标放大缩小图片效果
# 一个CSS+jQuery实现的放大缩小动画效果
# jQuery div层的放大与缩小简单实现代码
# jquery 实现京东商城、凡客商城的图片放大效果
# zShowBox 图片放大展示jquery版 兼容性
# jQuery实现响应浏览器缩放大小并改变背景颜色
# 会有
# 小图
# 设置为
# 自己的
# 滚动条
# 这是
# 就会
# 使用了
# 行间
# 上了
# 会在
# 是从
# 火狐
# 一个问题
# 不加
# 这里面
# 都为
# 解决方法
# 相对应
# 单击
相关文章:
建站之星IIS配置教程:代码生成技巧与站点搭建指南
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
建站之星安装步骤有哪些常见问题?
黑客如何利用漏洞与弱口令入侵网站服务器?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
建站之星免费模板:自助建站系统与智能响应式一键生成
网站制作公司排行榜,四大门户网站排名?
h5在线制作网站电脑版下载,h5网页制作软件?
如何通过可视化优化提升建站效果?
如何登录建站主机?访问步骤全解析
如何用景安虚拟主机手机版绑定域名建站?
如何零成本快速生成个人自助网站?
公司门户网站制作流程,华为官网怎么做?
如何在橙子建站中快速调整背景颜色?
如何在Ubuntu系统下快速搭建WordPress个人网站?
网站制作模板下载什么软件,ppt模板免费下载网站?
建站之星好吗?新手能否轻松上手建站?
大型企业网站制作流程,做网站需要注册公司吗?
浅谈Javascript中的Label语句
开源网站制作软件,开源网站什么意思?
Swift中swift中的switch 语句
如何获取免费开源的自助建站系统源码?
建站之星导航菜单设置与功能模块配置全攻略
在线制作视频的网站有哪些,电脑如何制作视频短片?
如何通过网站建站时间优化SEO与用户体验?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
nginx修改上传文件大小限制的方法
内网网站制作软件,内网的网站如何发布到外网?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
高端智能建站公司优选:品牌定制与SEO优化一站式服务
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何打造高效商业网站?建站目的决定转化率
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何将凡科建站内容保存为本地文件?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
郑州企业网站制作公司,郑州招聘网站有哪些?
微信小程序 五星评分(包括半颗星评分)实例代码
如何快速搭建安全的FTP站点?
制作门户网站的参考文献在哪,小说网站怎么建立?
建站之星后台密码遗忘或太弱?如何重置与强化?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
如何用狗爹虚拟主机快速搭建网站?
如何通过二级域名建站提升品牌影响力?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
如何在云服务器上快速搭建个人网站?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
中山网站制作网页,中山新生登记系统登记流程?
如何在VPS电脑上快速搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。