今天我们来写一下jQuery的效果来上代码

1,html代码

       <div id='small'><img src="./icon/images/sj1.jpg" alt="" width='100%'><div id='move'></div></div>
<ul id="images">
<li><img class="imgs" src="./icon/images/sj1.jpg" alt="" width="100%"></li>
<li><img class="imgs" src="./icon/images/sj6.jpg" alt="" width="100%"></li>
<li><img class="imgs" src="./icon/images/sj7.jpg" alt="" width="100%"></li>
</ul>
<div id='big'><img src="./icon/images/sj1.jpg" alt="" id='img'></div>

2,css代码

 #small{border:1px solid #ccc;position: absolute;top:220px;}
#move{width:150px;height:100px;position: absolute;left:;top:;background: url(bg.png);display: none;}
#images{position: absolute;top:560px;left:200px;width:1000px;height:100px;}
#images li { width: 70px;height: 70px;float: left;margin-right: 10px;border: solid 1px #ccc;padding:4px;}
#big{width:300px;height:308px;text-align:center;border:1px solid #ccc;position: absolute;left:500px;top:220px;overflow:hidden;display: none;}
#big #img{position: absolute;left:-100px;}

3,jQuery代码

  //===============================放大镜开始===========================
$("#images img").click(function (){
var src = $(this).attr("src");
//小图 大图
$("#small img").attr("src",src);
$("#big img").attr("src",src);
});
//2 鼠标移动
$('#small').mousemove(function(ent){
//大盒子显示 放大镜显示
$("#big").css("display","block");
$("#move").css("display","block");
//获得鼠标
var ent = ent || window.event;
var m_w = $("#move").width();
var m_h = $("#move").height();
//放大镜不能出盒子范围
var minX = $("#small").offset().left+m_w/2;
var maxX = $("#small").width()+$("#small").offset().left-m_w/2;
var minY = $("#small").offset().top+m_h/2;
var maxY = $("#small").height()+$("#small").offset().top-m_h/2;
if(ent.pageX<minX){
ent.pageX=minX;
}else if(ent.pageX>maxX){
ent.pageX=maxX;
}else{
$("#move").css("left",(ent.pageX-m_w/2-$("#small").offset().left));
// $("#move").css("left",(ent.pageX-$("#small").offset().left));
}
if(ent.pageY<minY){
ent.pageY=minY;
}else if(ent.pageY>maxY){
ent.pageY=maxY;
}else{
$("#move").css("top",(ent.pageY-m_h/2-$("#small").offset().top));
// $("#move").css("top",(ent.pageY-$("#small").offset().top));
}
//大盒子随鼠标的移动位置
$("#big").scrollTop((ent.pageY-$("#small").offset().top)*2.5-200);
$("#big").scrollLeft((ent.pageX-$("#small").offset().left)*2.5-250);
//添加鼠标样式
$("#small").css("cursor","move");
});
//3 鼠标移出
$("#small").mouseout(function(){
$("#big").css("display","none");
$("#move").css("display","none");
$("#small").css("cursor","default");
});
//===============================放大镜结束===========================

以上就是jQuery实现的放大镜我还是那句话clientx/y与pagex/y的不同不然放大镜bug会很大,下次让我们来了解一下pageX/Y与offsetx/y  clientx/y区别,我们下次见

放大镜jQuery效果的更多相关文章

  1. 用js实现放大镜的效果

    第一次发博客,还有点小激动,本人现在正在天津上大学,希望以后从事前端这一行业,学习的时间不长,写博客为了记录自己的学习过程和收获,当然也算是巩固.可能写的东西不会像大牛那样高大上,只是一些基本的内容, ...

  2. 在网站开发中很有用的8个 jQuery 效果【附源码】

    jQuery 作为最优秀 JavaScript 库之一,改变了很多人编写 JavaScript 的方式.它简化了 HTML 文档遍历,事件处理,动画和 Ajax 交互,而且有成千上万的成熟 jQuer ...

  3. jQuery 效果 —— 滑动

    jQuery 效果 -- 滑动 1.向下滑动元素 (1)使用slideDown()方法可以用于向下滑动元素 $("button").click(function(){ $(&quo ...

  4. jQuery 效果 —— 隐藏和显示

    jQuery 效果 -- 隐藏和显示 1.隐藏和显示 (1)在jQuery中我们可以使用hide()和show()分别隐藏和显示HTML元素: //隐藏元素 $("button") ...

  5. jQuery 效果函数

    jQuery 效果函数 方法 描述 animate() 对被选元素应用“自定义”的动画 clearQueue() 对被选元素移除所有排队的函数(仍未运行的) delay() 对被选元素的所有排队函数( ...

  6. JQuery: JQuery效果(隐藏、显示、切换,滑动,淡入淡出,以及动画)

    JQuery:效果 JQuery效果有很多,包括隐藏.显示.切换,滑动,淡入淡出,以及动画等.隐藏:JQuery hide() 显示:JQuery show() 切换:JQuery toggle() ...

  7. jquery效果- 显示和隐藏 淡入淡出 滑动 隐藏

    jQuery 效果- 隐藏和显示:hide() 和 show() 规定隐藏/显示的速度,可以取以下值:"slow"."fast" 或毫秒 您可以使用 toggl ...

  8. Jquery效果代码--(二)

    //jQuery 效果- 隐藏和显示.通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素: //掩藏效果演示: $(document).ready(fun ...

  9. jQuery 效果方法

    jQuery 效果方法 下面的表格列出了所有用于创建动画效果的 jQuery 方法. 方法 描述 animate() 对被选元素应用"自定义"的动画 clearQueue() 对被 ...

随机推荐

  1. 实现Linux下的ls和ls-l

    ls的C语言代码实现 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #includ ...

  2. [No0000193]Chrome浏览器控制台(console)花式调试

    对前端开发者来说,Chrome Dev Tools(开发者工具,以下简称CDT)是一个不可或缺的开发调试工具,但是你可能只用过console.log(),却不知道console还有很多功能强大的调试方 ...

  3. FastJson一些常见方法(API):处理JSON变得好简单

    fastjson是目前java语言中最快的json库,比自称最快的jackson速度要快,第三方独立测试结果说明比gson快大约6倍 JSON帮助类 这个可以做一个实例研究代码,也可以作为一个工具类 ...

  4. centos7编译安装Python3所需要的库(模块)依赖

    在centos中编译安装python3环境,第三方的库 实战的编辑环境: 1.VMware虚拟机   2.centos7 依赖包经过百度搜集以及之前安装Python3报错搜集(centos7反反复复安 ...

  5. PTA地下迷宫探索

    地道战是在抗日战争时期,在华北平原上抗日军民利用地道打击日本侵略者的作战方式.地道网是房连房.街连街.村连村的地下工事,如下图所示. 我们在回顾前辈们艰苦卓绝的战争生活的同时,真心钦佩他们的聪明才智. ...

  6. docker容器与镜像

    就像cad图层概念 数据卷就是为了完成数据持久化操作

  7. ShoppingCart类图

    1,组合关系,实心的棱形画在整体上面,发现很多人把它画错了 2,1..*或*代表的意义说明: 完整格式为:最小数量..最大数量 约束:前者必须小于后者,如1..*表示1个或多个,不会包含1..0这种情 ...

  8. 9个用来爬取网络站点的 Python 库

    上期入口:10个不到500行代码的超牛Python练手项目 1️⃣Scrapy 一个开源和协作框架,用于从网站中提取所需的数据. 以快速,简单,可扩展的方式. 官网:https://scrapy.or ...

  9. python_的面向对象编程

    废话不多说,先弄个对象来看看 class Student(object): def __init__(self, name, score): self.name = name self.score = ...

  10. ASP.NET页面之间传值的方式之QueryString(个人整理)

    QueryString Querystring也叫查询字符串,这种页面间传递数据是利用网页地址URL.如果要从A页面跳转到B页面,则可以用Request.Redirect(”B.aspx?参数名=参数 ...