代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Css
】
放大效果
作者:
/ 发布于
2019/10/28
/
1081
<html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>图片放大镜</title> <style type="text/css"> body{ padding: 0;margin: 0;width: 100%;height:100%;overflow: hidden; } .wrap{ text-align: center; } .wrap img{ width: 60%;cursor: crosshair; } .loupe{ position:absolute; pointer-events:none; visibility:hidden; z-index:999; width: 200px; height: 200px; border:3px solid #636363; border-radius:50%; } </style> </head> <body> <div class="loupe"></div> <div class="wrap"> <img src="http://wx.karlew.com/loupe/img/pic.jpg"> </div> </body> </html> <script type="text/javascript" src="http://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var vh=(window).height()varvw=(window).width() var imgh=(".wrapimg").height()varimgw=(".wrap img").width() var beginX=vw*2/10 var endX=beginX+imgw var beginY=(vh-imgh)/2 var endY=beginY+imgh $(".wrap").css("margin-top",beginY+"px") //鼠标经过 document.addEventListener("mousemove", loupe , false); //触屏模式触发 document.addEventListener("touchmove", loupe , false); document.addEventListener("touchstart", loupe , false); document.addEventListener("touchend", function(e) { $(".loupe").css("visibility","hidden") }, false); function loupe(e){ var x,y if(e.type!="mousemove"){ x=e.touches[0].pageX y=e.touches[0].pageY } //如果支持触摸事件,则屏蔽鼠标经过事件,避免影响touchstart的效果 else if("ontouchend" in document){ return false; } //如果不支持触摸事件,则让鼠标经过事件正常触发 else{ x=e.clientX y=e.clientY } //判断鼠标或触摸点在图片区域,是则显示放大镜div层 if(x>beginX&&x<endX&&y>beginY&&y<endY){ var mx=100-(x-beginX)/imgw*1920 //1920为原图片宽度 var my=100-(y-beginY)/imgh*1200 //1200为原图片高度 var bg="url(http://wx.karlew.com/loupe/img/pic.jpg) "+mx+"px "+my+"px no-repeat #fff" (".loupe").css("left",x?103+"px").css("top",y?103+"px").css(′background′,bg)(".loupe").css("visibility","visible") }else{ $(".loupe").css("visibility","hidden") } } }) </script> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>图片放大镜</title> <style type="text/css"> body{ padding: 0;margin: 0;width: 100%;height:100%;overflow: hidden; } .wrap{ text-align: center; } .wrap img{ width: 60%;cursor: crosshair; } .loupe{ position:absolute; pointer-events:none; visibility:hidden; z-index:999; width: 200px; height: 200px; border:3px solid #636363; border-radius:50%; } </style> </head> <body> <div class="loupe"></div> <div class="wrap"> <img src="http://wx.karlew.com/loupe/img/pic.jpg"> </div> </body> </html> <script type="text/javascript" src="http://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var vh=$(window).height() var vw=$(window).width() var imgh=$(".wrap img").height() var imgw=$(".wrap img").width() var beginX=vw*2/10 var endX=beginX+imgw var beginY=(vh-imgh)/2 var endY=beginY+imgh $(".wrap").css("margin-top",beginY+"px") //鼠标经过 document.addEventListener("mousemove", loupe , false); //触屏模式触发 document.addEventListener("touchmove", loupe , false); document.addEventListener("touchstart", loupe , false); document.addEventListener("touchend", function(e) { $(".loupe").css("visibility","hidden") }, false); function loupe(e){ var x,y if(e.type!="mousemove"){ x=e.touches[0].pageX y=e.touches[0].pageY } //如果支持触摸事件,则屏蔽鼠标经过事件,避免影响touchstart的效果 else if("ontouchend" in document){ return false; } //如果不支持触摸事件,则让鼠标经过事件正常触发 else{ x=e.clientX y=e.clientY } //判断鼠标或触摸点在图片区域,是则显示放大镜div层 if(x>beginX&&x<endX&&y>beginY&&y<endY){ var mx=100-(x-beginX)/imgw*1920 //1920为原图片宽度 var my=100-(y-beginY)/imgh*1200 //1200为原图片高度 var bg="url(http://wx.karlew.com/loupe/img/pic.jpg) "+mx+"px "+my+"px no-repeat #fff" $(".loupe").css("left",x-103+"px").css("top",y-103+"px").css('background',bg) $(".loupe").css("visibility","visible") }else{ $(".loupe").css("visibility","hidden") } } }) </script>
试试其它关键字
同语言下
.
前端PC-移动端CSS公共样式+HTML
.
手机端页面通用样式
.
H5页面通用头部设置
.
elect默认样式美化代码兼容移动端和pc端
.
按钮效果 css
.
唤醒app
.
放大效果
.
html5+css3实现上拉和下拉刷新
.
html上传图片后,在页面显示上传的图片
.
html5实现点击弹出图片
可能有用的
.
前端PC-移动端CSS公共样式+HTML
.
手机端页面通用样式
.
H5页面通用头部设置
.
elect默认样式美化代码兼容移动端和pc端
.
按钮效果 css
.
唤醒app
.
放大效果
.
html5+css3实现上拉和下拉刷新
.
html上传图片后,在页面显示上传的图片
.
html5实现点击弹出图片
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3