分别用javascript,jquery实现 对图片的放大镜效果
来源:互联网 发布:stm32单片机arm的区别 编辑:程序博客网 时间:2024/06/05 11:37
javascript实现:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style>#dsmall{ height: 200px; width: 200px; border: solid 1px; float: left; position: relative; left: 5px; top: 5px; overflow: hidden;}#dsmall img{ height: 200px;}#smallblock{ height: 40px; width: 40px; background-color: white; opacity: 0.5; position: absolute; left: 0px; top: 0px; display: none;}#dbig{ /* display: none;*/ height: 400px; width: 400px; position: absolute; left: 250px; top:13px; overflow: hidden; display: none;}#bigimg{ height: 480px; position: absolute; left: 0px; right: 0px; } </style></head><body><div id="dsmall"><img src="img/small.jpg" alt=""><div id="smallblock"></div></div> <div id="dbig"><img src="img/big.jpg" alt="" id="bigimg"> </div> <script src="js/jquery.min.js"></script> <script> var oSmall=document.getElementById("dsmall"); var oSBlock=document.getElementById("smallblock"); var oBig=document.getElementById("dbig"); var oBImg=document.getElementById("bigimg"); oSmall.onmouseover = function(){ oSBlock.style.display='block'; oBig.style.display='block'; } oSmall.onmouseout = function(){ oSBlock.style.display='none'; oBig.style.display='none'; } oSmall.onmousemove = function(e){ var e=e||window.event; var sleft=e.clientX-oSmall.offsetLeft-oSBlock.offsetWidth/2; var stop=e.clientY-oSmall.offsetTop-oSBlock.offsetHeight/2; if(sleft>oSmall.offsetWidth-oSBlock.offsetWidth){ sleft=oSmall.offsetWidth-oSBlock.offsetWidth; } if(sleft<0){ sleft=0; } if(stop>oSmall.offsetHeight-oSBlock.offsetHeight){ stop=oSmall.offsetHeight-oSBlock.offsetHeight; } if(stop<0){ stop=0; } oSBlock.style.left=sleft+'px'; oSBlock.style.top=stop+'px'; var fleft=sleft/(oSmall.offsetWidth-oSBlock.offsetWidth); var ftop=stop/(oSmall.offsetHeight-oSBlock.offsetHeight); oBImg.style.left=fleft*(oBig.offsetWidth-oBImg.offsetWidth)+'px'; oBImg.style.top=ftop*(oBig.offsetHeight-oBImg.offsetHeight)+'px'; } </script></body></html>
jquery实现:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style>#dsmall{ height: 200px; width: 200px; border: solid 1px; float: left; position: relative; left: 5px; top: 5px; overflow: hidden;}#dsmall img{ height: 200px;}#smallblock{ height: 40px; width: 40px; background-color: white; opacity: 0.5; position: absolute; left: 0px; top: 0px; display: none;}#dbig{ /* display: none;*/ height: 400px; width: 400px; position: absolute; left: 250px; top:13px; overflow: hidden; display: none;}#bigimg{ height: 480px; position: absolute; left: 0px; right: 0px; } </style></head><body><div id="dsmall"><img src="img/small.jpg" alt=""><div id="smallblock"></div></div> <div id="dbig"><img src="img/big.jpg" alt="" id="bigimg"> </div> <script src="js/jquery.min.js"></script> <script>$(function(){ var $dsmall=$('#dsmall'); var $smallblock=$('#smallblock'); var $dbig=$('#dbig'); var $bigimg=$('#bigimg'); $dsmall.hover(function(){ $smallblock.show(); $dbig.show(); },function(){ $smallblock.hide(); $dbig.hide(); }) $dsmall.mousemove(function(e){ var sleft=e.pageX-$dsmall.offset().left-$smallblock.width()/2; var stop=e.pageY-$dsmall.offset().top-$smallblock.height()/2; if(sleft<0){ sleft=0; } if(stop<0){ stop=0; } if(sleft>$dsmall.width()-$smallblock.width()) { sleft=$dsmall.width()-$smallblock.width(); } if(stop>$dsmall.height()-$smallblock.height()) { stop=$dsmall.height()-$smallblock.height(); } $smallblock.css({ left:sleft, top:stop }); var fleft=sleft/($dsmall.width()-$smallblock.width()); var ftop=stop/($dsmall.height()-$smallblock.height()); var bleft=fleft*($dbig.width()-$bigimg.width()); var btop=ftop*($dbig.height()-$bigimg.height()); $bigimg.css({ left:bleft, top:btop }) })}) </script></body></html>
0 0
- 分别用javascript,jquery实现 对图片的放大镜效果
- JavaScript实现的放大镜放大图片效果
- Javascript实现图片的放大镜功能效果
- 图片放大镜效果-- jquery实现
- javascript实现图片放大镜效果
- jquery连接数据库实现图片的放大镜效果
- Jquery实现图片放大镜效果的思路及代码
- JS(jquery)实现图片放大镜效果
- JS(jquery)实现图片放大镜效果
- JQuery 图片放大镜效果
- Jquery图片放大镜效果
- JavaScript图片放大镜效果
- jQuery的图片放大镜效果插件 - elevateZoom
- jQuery实现放大镜效果
- jquery实现放大镜效果
- jQuery实现放大镜效果
- jQuery实现放大镜效果
- jQuery实现放大镜效果
- 简单的GCC语法: 弄清gcc test.c 与 gcc -c test.c 的差别
- Floyd Dijkstra Bellman-Ford spfa 四种最短路经典算法汇总 HDU 2544为例
- Java中CAS详解-待学习的任务
- 7. Reverse Integer Add to List★
- Activity的四种启动模式简介
- 分别用javascript,jquery实现 对图片的放大镜效果
- 逗号代码,字符图片网格-用Python自动化无聊的东西-chapter4
- 值得纪念的一次家庭晚餐
- L1-1出生年
- php的运行原理、cgi对比fastcgi以及php-cgi和php-fpm之间的联系区别
- 数据挖掘算法
- codevs1174 靶形数独 dfs+剪枝
- 考研失败2017年3月25日21:11:03
- Codeforces Beta Round #2 B. The least round way dp,记录方案