<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的图片放大镜效果的更多相关文章

  1. Magnifier.js - 支持鼠标滚轮缩放的图片放大镜效果

    Magnifier.js 是一个 JavaScript 库,能够帮助你在图像上实现放大镜效果,支持使用鼠标滚轮放大/缩小功能.放大的图像可以显示在镜头本身或它的外部容器中.Magnifier.js 使 ...

  2. WPF设置VistualBrush的Visual属性制作图片放大镜效果

    原文:WPF设置VistualBrush的Visual属性制作图片放大镜效果 效果图片:原理:设置VistualBrush的Visual属性,利用它的Viewbox属性进行缩放. XAML代码:// ...

  3. 原生javascript实现图片放大镜效果

    当我们在电商网站上购买商品时,经常会看到这样一种效果,当我们把鼠标放到我们浏览的商品图片上时,会出现类似放大镜一样的一定区域的放大效果,方便消费者观察商品.今天我对这一技术,进行简单实现,实现图片放大 ...

  4. 【Demo】jQuery 图片放大镜效果——模仿淘宝图片放大效果

    实现功能: 模仿淘宝图片放大效果,鼠标移动到小图片的某一处,放大镜对应显示大图片的相应位置. 实现效果: 实现代码: <!DOCTYPE html> <html> <he ...

  5. javascript图片放大镜效果展示

    javascript图片放大镜效果展示 <!DOCTYPE html> <html> <head lang="en"> <meta cha ...

  6. canvas知识02:图片放大镜效果

    效果截图: JS代码: <script> // 初始化canvas01和上下文环境 var cav01 = document.getElementById('cav01'); var cx ...

  7. jQuery实现图片放大镜效果

    实现图片放大镜的原理: 给放大镜元素一个对应的html元素为<div class='right'> 设置这个div的宽高固定为某个值(350px,350px) 设置div的css为超出部分 ...

  8. 用css3的cursor:zoom-in/zoom-out实现微博看图片放大镜效果

    1.前言 CSS3的出现解决了很多让人头疼的问题,至少我想很多童鞋都这样认为.css3的cursor属性大家用的应该是非常的多的,我想用的比较多的像cursor:pointer;cursor:help ...

  9. Jquery插件开发之图片放大镜效果(仿淘宝)

    原网转载地址:http://www.cnblogs.com/hnvvv/archive/2011/11/19/2255197.html 需求:公司某个网站,需要实现图片预览效果,并能像淘宝一样实现局部 ...

随机推荐

  1. 1.12Linux下软件安装(学习过程)

    实验介绍 介绍 Ubuntu 下软件安装的几种方式,及 apt,dpkg 工具的使用. 一.Linux 上的软件安装 通常 Linux 上的软件安装主要有三种方式: 在线安装 从磁盘安装deb软件包 ...

  2. 博弈--ZOJ 3084 S-Nim(SG)

    题意: 首先输入K 表示一个集合的大小  之后输入集合 表示对于这对石子只能去这个集合中的元素的个数 之后输入 一个m 表示接下来对于这个集合要进行m次询问  之后m行 每行输入一个n 表示有n个堆  ...

  3. CSU 1808: 地铁 最短路

    题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1808 1808: 地铁 Time Limit: 5 SecMemory Limit: ...

  4. timestamp 学习

    该答案摘抄自CSDN. 哇,奇迹,跨度三年了,不知道楼主是否已经解决了此问题. 路过,简单说一下,timestamp 主要是记录该行的最后修改时间戳, 注意,这个时间戳是不可以转换为时间的,只能标注该 ...

  5. C++ Primer Plus学习:第三章

    C++入门第三章:处理数据 面向对象编程(OOP)的本质是设计并扩展自己的数据类型. 内置的C++数据类型分为基本类型和复合类型. 基本类型分为整数和浮点数. 复合类型分为数组.字符串.指针和结构. ...

  6. ngx_http_rewrite_module(重定向)

    1:指定rewrite规则 rewrite regex replacement [flag];   什么是rewrite规则:If the specified regular expression m ...

  7. Hibernate(五)

    注解高级(原文再续书接上一回) 7.继承映射 第一种:InheritanceType.JOINED 查询时会出现很多join语句. package com.rong.entity.joined; im ...

  8. HDU4054_Hexadecimal View

    水题.直接八位八位地枚举即可. 注意控制输出,注意读数的时候要把s中的全部元素置零. #include <iostream> #include <cstdio> #includ ...

  9. java 常量 jvm在编译期能确定常量的 所以相等 但不能确定变量的范围 所以变量相加会产生新的

  10. bzoj4770 图样

    题意 n个点的完全图,每个点的点权是在m位的二进制数中随机选取的.每条边的边权是两个点的点权的异或值. 问最小生成树的边权和的期望.模一个质数输出. 分析 考试的时候写这个题,然后期望得分100-&g ...