js实现放大镜特效的实现方法
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.imgBox{
width: 1000px;
margin: auto;
text-align: center;
}
.small,.large{
font-size: 0;
outline: 1px solid burlywood;
margin: auto;
}
.small{
margin: 20px auto;
}
.large{
/*display: none;*/
}
.small,.small img,.large{
width: 300px;
height: 200px;
overflow: hidden;
}
.large img{
width: 900px;
height: 600px;
}
.small,.large{
position: relative;
}
.mark{
opacity: 0.5;
background-color: #DEB887;
z-index: 55;
width: 100px;
height: 66.666666666px;
display: none;
}
.mark,.large img{
position: absolute;
left: 0;
top: 0;
}
</style>
</head>
<body>
<div class="imgBox">
<div class="small">
<img src="img/img_14.jpg"/>
<div class="mark"></div>
</div>
<div class="large">
<img src="img/img_14.jpg"/>
</div>
</div>
<script type="text/javascript">
$(function(){
var $small = $(".small"),
$mark = $(".mark"),
$large = $(".large");
$small.on("mousemove",function(e){
// 在鼠标移到小图片中显示出mark
$mark.css("display","block");
// $large.css("display","block");
// 获取mark的一半宽度高度
var hw = $mark.width()/2,
hh = $mark.height()/2;
// 获取鼠标在当前图片中的位置
var lf = e.pageX-$small.offset().left-hw,
tt = e.pageY-$small.offset().top-hh;
// 获取mark的想x,y轴偏移率
var ix = lf/$small.width(),
iy = tt/$small.height();
// 获取边缘线
var lb = 1-hw/$small.width()*2,
tb = 1-hh/$small.height()*2;
// 计算和边缘的关系
var ix = ix<lb?ix>0?ix:0:lb,
iy = iy<tb?iy>0?iy:0:tb;
// 进行大图和小图百分比计算
$mark.css("left",ix*100+"%").css("top",iy*100+"%");
$large.children().css("left",-ix*300+"%").css("top",-iy*300+"%");
}).on("mouseout",function(){
// 鼠标移出后mark隐藏
$mark.css("display","none");
// $large.css("display","none");
})
})
</script>
</body>
</html>
js实现放大镜特效的实现方法的更多相关文章
- 案例:用JS实现放大镜特效
案例:用JS实现放大镜特效 案例:用JS实现放大镜特效
- js图片放大镜特效代码
<script language="JavaScript"> <!-- var srcX = 1024; //原图长宽 var srcY = 768; var b ...
- 未封装的js放大镜特效
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>j ...
- js放大镜特效
在平时网上商城购物时,我们能够通过放大镜效果来使我们看图片能够更加的清楚,今天我就来给大家分享一下我学习的放大镜特效 下图是原图的样子 ...
- 基于jQuery仿淘宝产品图片放大镜特效
在开发商城的时候,往往会用到图片的放大功能,这里把自己在近期项目中使用的放大镜特效做一下总结(非插件). 放大镜效果 常用的js组件jquery.imagezoom,jquery.jqzoom,jqu ...
- JQuery仿购物网站放大镜特效所遇问题及思考
JQuery仿购物网站放大镜特效所遇问题及思考 先贴下效果图,然后描述起来也就不会不知道我在说什么了. 我碰到的问题一: 一开始我自己总结了是因为两个小原因导致的①使用了mouseover,mouse ...
- 原生js实现放大镜效果
今天做任务的时候,有一个任务就是让实现电商网站常用的放大镜效果,类似于这样的效果,之前并没有做过这种放大镜效果,刚开始的思路是对图片进行裁剪,但是后来发现实在是难以实现,于是求助了万能的谷歌,发现一个 ...
- 原生js实现架子鼓特效
这是代码完成的效果,按下abcd会出现对应的架子鼓音乐的效果. 简单的介绍下代码思路,html和css部分就不多说了. 重要的是js部分. 大致是这样的, 首先获取到所有的按钮为一个数组,然后遍历整个 ...
- js jquery 页面加载初始化方法
js jquery 页面加载初始化方法 一.js页面加载初始化方法 // 1.在body里面写初始化方法. <body onload='init()'> </body> < ...
随机推荐
- ios与android设备即时语音互通的录音格式预研说明
本文虽属原创,但是内容都是来自于网络,参考了大家的微博,以及论坛的总结. 在做语音对讲的时候,将会碰到录制语音格式的问题,因为要考虑自己开发设备的支持的格式,还要考虑其他设备操作系统的支持的格式,以及 ...
- VS2010-MFC(对话框:模态对话框及其弹出过程)
转自:http://www.jizhuomi.com/software/160.html 一.模态对话框和非模态对话框 Windows对话框分为两类:模态对话框和非模态对话框. 模态对话框是这样的对话 ...
- Bash Specially-crafted Environment Variables Code Injection Vulnerability Analysis
http://www.cnblogs.com/LittleHann/p/3992778.html
- 数据库连接客户端 dbeaver 程序包以及使用说明
dbeaver 是一个基于 Eclipse 的数据库客户端,支持几乎所有常见的数据库.分为商业版和社区版,社区版可以免费使用. 官网和 GitHub https://dbeaver.io/ https ...
- P1009阶乘之和
n=int(input()) ans=0 for i in range(1,n+1): t=1 for j in range(1,i+1): t*=j; ans+=t; print(ans)
- Spriongboot+quartz定时任务
y需求: 需要一个定时任务,比如 2019-5-10 10:00 执行一次期初库存推送的功能~ Spring自带的@Schedule() 的cron表达式不支持年份,所以考虑一下quartz定时任 ...
- day51作业
利用无名有名分组加反向解析完成用户数据的编辑和删除功能 目录结构 day51: app01 day51 static templates manage.py 功能截图 代码实现 day51/urls. ...
- leetcode 696
696. Count Binary Substrings Input: "00110011" Output: 6 Explanation: There are 6 substrin ...
- VirtualBox安装CentOS后分辨率和鼠标无缝切换问题
问题:VirtualBox安装完后出现分辨率只有800*600和1024*768,鼠标不能在虚拟机和本机件无缝切换. 解决办法:在终端中执行以下命令 yum install kernel yum in ...
- 启动easy-mock
1.启动mongodb 启动mongodb服务器: /usr/local/mongodb/bin/mongod -config /usr/local/mongodb/data/mongodb.co ...