仿淘宝鼠标移动商品图片放大效果
2018-03-11 11:46
417 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>商品放大效果</title> <style type="text/css"> * { margin: 0; padding: 0; } .box { padding: 100px; } .box .min { width: 200px; height: 200px; border: 1px solid #f60; position: relative; float: left; cursor: crosshair; /* 鼠标十字架*/ } /*mask的大小应满足 mask/min = max里面的图片的大小/max*/ .box .min #mask { width: 90px; height: 90px; position: absolute; left: 0; top: 0; background-color: rgba(255, 255, 0, 0.3); display: none; } .box .min img { width: 200px; height: 200px; } .box .max { border: 1px solid #f60; width: 360px; height: 390px; float: left; overflow: hidden; margin-left: 10px; display: none; position: relative; } .box .max img { position: absolute; left: 0; top: 0; } </style> <script type="text/javascript"> window.onload = function() { var mask = document.getElementById("mask"); var min = document.getElementsByClassName('min')[0]; var max = document.getElementsByClassName("max")[0]; min.onmouseover = function() { mask.style.display = "block"; max.style.display = "block"; } min.onmouseout = function() { mask.style.display = "none"; max.style.display = "none"; } min.onmousemove = function(event) { console.log('test'); var e = event || window.event; var x; var y; if (e.target == mask) { //判断是否以mask为参考系 x = e.offsetX + mask.offsetLeft; y = e.offsetY + mask.offsetTop; } else { x = e.offsetX; y = e.offsetY; } if (x < mask.offsetWidth / 2) { x = mask.offsetWidth / 2; } else if (x > min.offsetWidth - mask.offsetWidth / 2) { x = min.offsetWidth - mask.offsetWidth / 2; } if (y < mask.offsetHeight / 2) { y = mask.offsetHeight / 2; } else if (y > min.offsetHeight - mask.offsetHeight / 2) { y = min.offsetHeight - mask.offsetHeight / 2; } mask.style.left = (x - mask.offsetWidth / 2) + "px"; mask.style.top = (y - mask.offsetHeight / 2) + "px"; var img = max.getElementsByTagName("img")[0]; img.style.left = (mask.offsetLeft * (-4)) + "px"; img.style.top = (mask.offsetTop * (-4)) + "px"; } } </script> </head> <body> <div class="box"> <div class="min"> <img src="./s2.jpg"> <div id="mask"></div> </div> <div class="max"> <img src="./s1.jpg"> </div> </div> </body> </html>
相关文章推荐
- 仿淘宝商品图片放大镜效果(鼠标移动上去会出现放大的图片,并且可以移动)
- JS与CSS3实现图片响应鼠标移动放大效果示例
- 制作跟随鼠标移动的图片放大效果
- css实现鼠标移动图片居中放大效果
- CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义)
- CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义)
- jquery鼠标移动图片上实现放大效果
- 当鼠标移动到图片上时跟随鼠标显示放大的图片效果
- 鼠标移动到图片放大的效果
- 当鼠标移动到图片上时跟随鼠标显示放大的图片效果
- css实现鼠标移动图片上放大效果
- jq实现鼠标移动到 图片上放大,移开图片缩小效果(打算封装成插件)
- CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义)
- js放大镜效果。类似于淘宝产品内页多图展示代码,鼠标移到图片上有放大效果,方便查看产品细节,此代码适合网店产品展示,
- 代码: 仿淘宝商品详情页左上,图片鼠标浮上去,图片部分区域放大 (页面布局:图片列表)
- jQuery鼠标移动图片上实现放大效果
- JS实现鼠标移动到缩略图显示大图的图片放大效果
- JS实现鼠标移动到缩略图显示大图的图片放大效果
- JavaScript (实例:实现鼠标移动到图片上后图片放大同时不超出指定范围)
- Jquery实现鼠标移动放大图片功能实例