jq的图片放大镜效果
<div class="imgbox">
<div class="probox">
<img src="" alt="">
<div class="hoverbox"></div>
</div>
<div class="showbox">
<img src="" alt="">
</div>
</div>
.imgbox {
position:relative;
margin-left:100px;
}
.probox {
width:300px;
height:300px;
border:1px solid #000;
}
.probox img {
width:300px;
height:300px;
vertical-align:top;
}
.showbox {
display:none;
position:absolute;
left:403px;
top:;
width:400px;
height:300px;
overflow:hidden;
border:1px solid #ccc;
}
.showbox img {
position:absolute;
height:1200px;
width:1200px;
}
.hoverbox {
display:none;
position:absolute;
top:;
background:#09f;
border:1px solid #09f;
height:75px;
width:100px;
cursor:move;
z-index:;
}
function Zoom(imgbox, hoverbox, l, t, x, y, h_w, h_h, showbox) {
var moveX = x - l - (h_w / 2);
var moveY = y - t - (h_h / 2);
if (moveX < 0) {
moveX = 0
}
if (moveY < 0) {
moveY = 0
}
if (moveX > imgbox.width() - h_w) {
moveX = imgbox.width() - h_w
}
if (moveY > imgbox.height() - h_h) {
moveY = imgbox.height() - h_h
}
var zoomX = showbox.width() / imgbox.width()
var zoomY = showbox.height() / imgbox.height()
showbox.css({
left: -(moveX * zoomX),
top: -(moveY * zoomY)
})
hoverbox.css({
left: moveX,
top: moveY
})
}
function Zoomhover(imgbox, hoverbox, showbox) {
var l = imgbox.offset().left;
var t = imgbox.offset().top;
var w = hoverbox.width();
var h = hoverbox.height();
var time;
$(".probox img,.hoverbox").mouseover(function(e) {
var x = e.pageX;
var y = e.pageY;
$(".hoverbox,.showbox").show();
hoverbox.css("opacity", "0.3")
time = setTimeout(function() {
Zoom(imgbox, hoverbox, l, t, x, y, w, h, showbox)
}, 1)
}).mousemove(function(e) {
var x = e.pageX;
var y = e.pageY;
time = setTimeout(function() {
Zoom(imgbox, hoverbox, l, t, x, y, w, h, showbox)
}, 1)
}).mouseout(function() {
showbox.parent().hide()
hoverbox.hide();
})
}
$(function() {
Zoomhover($(".probox img"), $(".hoverbox"), $(".showbox img"));
})
引入jq就可以使用了
jq的图片放大镜效果的更多相关文章
- Magnifier.js - 支持鼠标滚轮缩放的图片放大镜效果
Magnifier.js 是一个 JavaScript 库,能够帮助你在图像上实现放大镜效果,支持使用鼠标滚轮放大/缩小功能.放大的图像可以显示在镜头本身或它的外部容器中.Magnifier.js 使 ...
- WPF设置VistualBrush的Visual属性制作图片放大镜效果
原文:WPF设置VistualBrush的Visual属性制作图片放大镜效果 效果图片:原理:设置VistualBrush的Visual属性,利用它的Viewbox属性进行缩放. XAML代码:// ...
- 原生javascript实现图片放大镜效果
当我们在电商网站上购买商品时,经常会看到这样一种效果,当我们把鼠标放到我们浏览的商品图片上时,会出现类似放大镜一样的一定区域的放大效果,方便消费者观察商品.今天我对这一技术,进行简单实现,实现图片放大 ...
- 【Demo】jQuery 图片放大镜效果——模仿淘宝图片放大效果
实现功能: 模仿淘宝图片放大效果,鼠标移动到小图片的某一处,放大镜对应显示大图片的相应位置. 实现效果: 实现代码: <!DOCTYPE html> <html> <he ...
- javascript图片放大镜效果展示
javascript图片放大镜效果展示 <!DOCTYPE html> <html> <head lang="en"> <meta cha ...
- canvas知识02:图片放大镜效果
效果截图: JS代码: <script> // 初始化canvas01和上下文环境 var cav01 = document.getElementById('cav01'); var cx ...
- jQuery实现图片放大镜效果
实现图片放大镜的原理: 给放大镜元素一个对应的html元素为<div class='right'> 设置这个div的宽高固定为某个值(350px,350px) 设置div的css为超出部分 ...
- 用css3的cursor:zoom-in/zoom-out实现微博看图片放大镜效果
1.前言 CSS3的出现解决了很多让人头疼的问题,至少我想很多童鞋都这样认为.css3的cursor属性大家用的应该是非常的多的,我想用的比较多的像cursor:pointer;cursor:help ...
- Jquery插件开发之图片放大镜效果(仿淘宝)
原网转载地址:http://www.cnblogs.com/hnvvv/archive/2011/11/19/2255197.html 需求:公司某个网站,需要实现图片预览效果,并能像淘宝一样实现局部 ...
随机推荐
- python 二维矩阵及转byte知识点
1.注意python中的数组和list形式混合: 数组在numpy里面: 2.二维数组这样定义可以修改固定位置的值: rawDataArray_temp = [([0]*nIRImageWidth)f ...
- 大白话Docker入门(一)
摘要: #大白话Docker入门(一) 随着docker现在越来越热门,自己也对docker的好奇心也越来越重,终于忍不住利用了一些时间把docker学习一遍.目前的资料不少,但是由于docker的发 ...
- QList和QVector使用
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QList和QVector使用 本文地址:http://techieliang.com ...
- PAT L1 - 046 整除光棍
https://pintia.cn/problem-sets/994805046380707840/problems/994805084284633088 这里所谓的“光棍”,并不是指单身汪啦~ 说的 ...
- Java基于Tomcat Https keytool 自签证书
本文大部分内容系转载,原文地址:https://www.cnblogs.com/littleatp/p/5922362.html keytool 简介 keytool 是java 用于管理密钥和证书的 ...
- 选项卡控件(TabControl)的操作
移除选项卡和删除不同:前者可以从控件中移除不需要的选项,后者可以删掉整个控件.
- idea 复制数据库查询结果,粘贴直接生成insert into 语句
遇到一个场景,需要将数据库查询的结果导入到另外一个数据库中,给我的第一感受是,写程序,从数据库A中获取到数据,在插入到数据库B中. 但是Idea 可以直接复制查询结果,然后粘贴生成insert语句. ...
- Distributed transactions in Spring, with and without XA
While it's common to use the Java Transaction API and the XA protocol for distributed transactions i ...
- 图解用HTML5的popstate如何玩转浏览器历史记录
一.popstate用来做什么的?简而言之就是HTML5新增的用来控制浏览器历史记录的api. 二.过去如何操纵浏览器历史记录? window.history对象,该对象上包含有length和stat ...
- 第163天:js面向对象-对象创建方式总结
面向对象-对象创建方式总结 1. 创建对象的方式,json方式 推荐使用的场合: 作为函数的参数,临时只用一次的场景.比如设置函数原型对象. var obj = {}; //对象有自己的 属性 和 行 ...