Javascript仿京东放大镜的效果
来源:互联网 发布:linux常用基本命令 编辑:程序博客网 时间:2024/06/06 04:51
随便找一个图片吧。小伙伴们,想怎么玩就怎么玩(注意路径),亲自测试,绝对没问题。
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
body,div{margin: 0; padding: 0;}
#zhuti{
margin:50px;
position: relative;
}
#small{
width: 300px;
height: 187px;
border: 1px solid #000;
}
#big{
border: 1px solid #666;
overflow: hidden;
width: 300px;
height: 187px;
position: absolute;
left: 310px;
top: 0px;
display: none; /*默认隐藏*/
}
#jingtou{
width: 50px;
height: 50px;
background: #666;
opacity: 0.4;
position: absolute;
display: none; /*默认隐藏*/
}
#bigimg{
position: absolute;
}
</style>
</head>
<body>
<div id="zhuti">
<div id="small">
<div id="jingtou"></div>
<img src="img/ktm_small.jpg">
</div>
<div id="big">
<img src="img/ktm_big.jpg" id="bigimg">
</div>
</div>
<script type="text/javascript">
//封装一个函数(id形式参数)
function $(id) {
return document.getElementById(id);
}
var small =$('small');
var big =$('big');
var jingtou =$('jingtou');
var zhuti =$('zhuti');
var bigimg =$('bigimg');
//监视鼠标(镜头)
small.onmouseover = function(){
big.style.display='block';
jingtou.style.display='block';
}
small.onmouseout = function(){
big.style.display='none';
jingtou.style.display='none';
}
//挡鼠板移动的时候
small.onmousemove = function(event){
//获得当前坐标 //减去镜头宽度的一半
var left = event.clientX - zhuti.offsetLeft -jingtou.offsetWidth/2;
var top = event.clientY -zhuti.offsetTop - jingtou.offsetHeight/2;
//进行判断语句(固定0的位置)
//向左走
if(left<=0){
left =0;
}
//向上走
if(top<=0){
top =0;
}
//向右走
if(left >= small.offsetWidth-jingtou.offsetWidth){
left = small.offsetWidth-jingtou.offsetWidth;
}
//向下走
if(top >= small.offsetHeight-jingtou.offsetHeight){
top = small.offsetHeight-jingtou.offsetHeight;
}
//小图的比例
var smallX = left / (small.offsetWidth - jingtou.offsetWidth);
//var smallX = left / (small.offsetWidth - jingtou.offsetWidth);
var smallY = top / (small.offsetHeight - jingtou.offsetHeight);
//var smallY = top / (small.offsetHeight - jingtou.offsetHeight);
var bigX = -smallX * (bigimg.offsetWidth - big.offsetWidth);
var bigY = -smallY * (bigimg.offsetHeight - big.offsetHeight);
//求a和b的值
bigimg.style.left = bigX + 'px';
bigimg.style.top = bigY + 'px';
//镜头距离左边的位置==鼠标距离左边的位置
jingtou.style.left = left +'px';
jingtou.style.top = top +'px';
}
</script>
</body>
</html>
- Javascript仿京东放大镜的效果
- JavaScript实现的放大镜放大图片效果
- Javascript实现图片的放大镜功能效果
- javascript放大镜效果的简单实现
- JavaScript实现的网页放大镜效果
- javascript放大镜效果
- JavaScript图片放大镜效果
- javascript放大镜效果
- JavaScript 实现放大镜效果
- JavaScript放大镜效果
- JavaScript实现放大镜效果
- JavaScript实现放大镜效果demo
- javascript实现图片放大镜效果
- 淘宝图片放大镜JavaScript效果
- 有趣的放大镜效果
- 实现放大镜的效果
- 简单的放大镜效果
- View的放大镜效果
- vi配置
- 关于notifyDataSetChanged不能动态刷新ListView的问题
- 安装Intel HAXM为Android 模拟器加速
- 黑客应用之:net使用方法(2)
- 完全封装简单的实现图片的圆形剪切效果
- Javascript仿京东放大镜的效果
- eclipse启动时问题
- java框架问题杂想
- Android四大组件之服务(一)-----服务基础功能简述
- ListView设置item的行间距,以及去掉分割线
- android中关于图片分享到QQ或者微信,朋友圈及其他(免SDK)
- MS CS UPS
- Java开发必会的Linux命令
- C++常用库函数