最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

jquery实现放大镜简单方法

来源:动视网 责编:小采 时间:2020-11-27 20:06:51
文档

jquery实现放大镜简单方法

jquery实现放大镜简单方法:本文主要介绍了jquery实现放大镜简洁代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。简介网上有许多放大镜的jquery的插件,但是用着不是那么得心应手,现在一页代码实现一个放大镜功能,如果需要附加的功能可以手动修改,原理都
推荐度:
导读jquery实现放大镜简单方法:本文主要介绍了jquery实现放大镜简洁代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。简介网上有许多放大镜的jquery的插件,但是用着不是那么得心应手,现在一页代码实现一个放大镜功能,如果需要附加的功能可以手动修改,原理都
 本文主要介绍了jquery实现放大镜简洁代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。

简介

网上有许多放大镜的jquery的插件,但是用着不是那么得心应手,现在一页代码实现一个放大镜功能,如果需要附加的功能可以手动修改,原理都在注释里

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>放大镜效果</title>
 <style type="text/css">
 * {
 margin: 0;
 padding: 0;
 }
 .small {
 margin-left:40px;
 margin-top:50px;
 width: 150px;
 height: 150px;
 /*border: 2px solid yellow;*/
 }
 .small>img {
 width: 150px;
 height: 150px;
 } 
 .slider {
 width: 50px;
 height: 50px;
 background: rgba(180,180,135,0.3);
 position: absolute;
 display: none;
 }
 #big {
 //设置为固定大小;
 width: 200px;
 height: 200px;
 position: absolute;
 /* border: 2px solid red;*/
 overflow: hidden;
 display: none;
 }
 </style>
</head>
<body>
<!--缩略图-->
<p class="small">
 <img src="thumb.jpg" />
 <!--放大镜,在原图不上的小块-->
 <p class="slider"></p>
</p>
<!--放大镜区域,大图,设置为none隐藏-->
<p id="big">
 <img id="bigImg" src="big.jpg" />
</p>
even.clientX<input type="text" value="0" id="test" /><br/>
even.clientY<input type="text" value="0" id="test1" />
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
 var small = $(".small")[0];
 var slider = $(".slider")[0];
 var big = document.getElementById("big");//试一试js获取
 var bigImg = document.getElementById("bigImg");
//让slider跟随鼠标移动.给小的方块绑定事件
 $(".small").mousemove(function(e) {
 var even = e || event; //兼容火狐浏览器
 var x = even.clientX - small.offsetLeft - slider.offsetWidth/2;
 var y = even.clientY - small.offsetTop - slider.offsetHeight/2;
//测试even.clientX和even.clientY
 $("#test").val(even.clientX);
 $("#test1").val(even.clientY);
//水平方向的最大值
 var maxX = small.clientWidth - slider.clientWidth;
//竖直方向的最大值
 var maxY = small.clientHeight - slider.clientHeight;
 if(x<0){
//相当于超出左侧,超出左侧时,拉回
 x=0;
 }
//超出右侧时拉回
 if(x>maxX){
 x = maxX;
 }
//顶部超出
 if(y<0){
 y=0;
 }
//底部超出
 if(y>maxY){
 y = maxY;
 }
 slider.style.top = (y+small.offsetTop) + "px";
 slider.style.left = (x+small.offsetLeft) + "px";
//放大的图片的主要实现代码:比例计算, big.scrollLeft是id=big的p中下方滚轴的位置
//由于id=big的p设置成固定大小,而图片又非常大,所以这个p就像个放大镜一样在大图上晃
//比例计算很简单,鼠标在缩略图的位置与缩略图宽高比=鼠标在大图位置与大图宽高比,现在未知数是大图鼠标的位置
 big.scrollLeft = x/maxX * (bigImg.clientWidth - big.clientWidth) ;
 big.scrollTop = y/maxY * (bigImg.clientHeight -big.clientHeight) ;
 });
//鼠标移入事件
 $(".small").mouseenter(function(){
//鼠标移入到缩略图时候实现,上面出现的小的方块
 $(".slider").css("display","block");
 $("#big").css("top",small.offsetTop+"px");
//隐藏的大图=获取左图的左边位置+宽度+10(隔开点缝隙与缩略图)+px
 big.style.left = small.offsetLeft + small.offsetWidth + 10 + "px";
//右侧的大图区域显示出来图片
 $("#big").css("display","block");
 });
//移除事件
//添加鼠标移出事件,鼠标移出缩略图的时候
 $(".small").mouseleave(function(){
 $(".slider").css("display","none");
 $("#big").css("display","none");
 }); 
</script>
</body>
</html>

文档

jquery实现放大镜简单方法

jquery实现放大镜简单方法:本文主要介绍了jquery实现放大镜简洁代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。简介网上有许多放大镜的jquery的插件,但是用着不是那么得心应手,现在一页代码实现一个放大镜功能,如果需要附加的功能可以手动修改,原理都
推荐度:
标签: 方法 实现 放大镜
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top