`

原生JS实现简单放大镜效果

阅读更多

【前言】

    本文介绍下原生JS实现简单图片放大镜效果

 

【主体】

   时间问题,直接上源码

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>放大镜</title>
	<style type="text/css">
		/*代码初始化*/
		*{
			margin: 0;
			padding: 0;
		}
		/*代码主体*/
		.small_box{
			width: 300px;
			height: 300px;
			border: 1px solid black;
			float: left;
			cursor: move;
			margin-left:100px;
			margin-top:100px;
			position: relative;
		}
		.small_box img{
			width: 300px;
			height: 300px;
		}
		.fdj{
			width: 50%;
			height: 50%;
			background-color:rgba(200,200,1,0.6);
    		position:absolute;
		    left:0px;
		    top:0px;
		    display:none;
		}
		.big_box{
			width:300px;
		    height:300px;
		    /*border:1px solid black;*/
		    overflow:hidden;
		    box-sizing: border-box;
		    float:left;
		    margin-top:100px;
		    position:relative;
		    display:none;
		}
		.big_box img{
			position: absolute;
			width: 200%;
			height: 200%;
		}
		.small_box .active,.active{
			display: block;
		}
	</style>
</head>
<body>
	<div class="small_box">
		<img src="01.jpg" alt="汪星人">
		<div class="fdj"></div>
	</div>
	<div class="big_box">
		<img class="big_img" src="01.jpg" alt="汪星人">
	</div>
	<script type="text/javascript">
		 var small_box = document.getElementsByClassName("small_box")[0];//小盒子
		 var fdj = document.getElementsByClassName("fdj")[0];//小盒子中的黄色区域
		 var big_box = document.getElementsByClassName("big_box")[0];//大盒子
		 var big_img = document.getElementsByClassName("big_img")[0];//放大的图片
		 //鼠标进入小盒子区域内,显示黄色区域和大盒子
		 small_box.onmouseenter = function(){
		 	fdj.className = "fdj active";
		 	big_box.className = "big_box active";
		 }
		 //鼠标离开小盒子区域,不显示黄色区域和大盒子
		 small_box.onmouseleave = function(){
		 	fdj.className = "fdj";
		 	big_box.className = "big_box";
		 }
		 //鼠标在小盒子内移动
		 small_box.onmousemove = function(event){
		 	// console.log(event.clientX);//clientX 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标
		 	// console.log(this.offsetLeft);//当前元素顶部相对于指定定位属性祖先元素左侧的偏移量
		 	// console.log(fdj.offsetWidth/2);//小黄盒子宽度一半
		 	var x = event.clientX-this.offsetLeft-fdj.offsetWidth/2;//事件对象在小盒子内的横向偏移量
		 	var y = event.clientY-this.offsetTop-fdj.offsetHeight/2;//竖向偏移量
		 	
		 	if(x<0){x=0};//当左偏移出小盒子时,设为0
		 	if(y<0){y=0};//当上偏移出小盒子时,设为0

		 	if(x>this.offsetWidth-fdj.offsetWidth){
		 		 x = this.offsetWidth-fdj.offsetWidth;//当右偏移出小盒子时,设为小盒子的宽度-黄色放大区域宽度
		 	}
		 	if(y>this.offsetHeight-fdj.offsetHeight){
		 		y = this.offsetHeight-fdj.offsetHeight;//当下偏移出小盒子时,设为小盒子的高度-黄色放大区域高度
		 	}

		 	fdj.style.left = x + "px";//黄色放大区域距离小盒子左偏距
		 	fdj.style.top = y + "px";//黄色放大区域距离小盒子上偏距

		 	big_img.style.left = -x*2 + "px";//放大图片移动方向相反,偏移距离加倍
		 	big_img.style.top = -y*2 + "px";
		 }
	</script>
</body>
</html>

 

 

.

分享到:
评论

相关推荐

    原生js实现淘宝放大镜效果

    原生js实现淘宝放大镜效果,轻轻松松达到淘宝预览商品放大商品时的效果,不管是初级前端开发工程师,还是高级开发工程师,这个小项目可能会在实际开发项目过程中用得到,希望能让大家提升js功底,原生js实现淘宝放大...

    原生JavaScript实现淘宝放大镜效果

    运用原生js基础知识实现类似于淘宝放大镜效果,图片是两张大小不同的图片,图片资源自己寻找

    原生js实现图片放大镜效果

    以上就是使用原生JavaScript实现图片放大镜效果的基本步骤。你可以根据需求调整样式、动画效果等,以满足不同场景的应用。这种方法不仅适用于简单的图片放大,还可以扩展到其他交互式元素,如产品细节展示等。

    原生js实现球形放大镜效果

    效果描述: 一个使用原生js实现的放大镜效果 推荐大家使用,非常简单方便 使用方法: 1、将head中的CSS样式拷贝到你的网页中 2、将body中需要的代码部分拷贝到你需要的地方即可

    原生js 仿淘宝放大镜效果

    原生JS 仿淘宝放大镜效果,鼠标移入选择图片局部,在右边弹出显示图片局部放大效果

    原生JS放大镜

    通过以上步骤,我们可以实现一个基本的原生JavaScript商品放大镜效果。实际开发中,还可以根据需求增加更多的功能,如动态调整放大倍数、添加过渡效果等。了解并掌握这些技术对于提升网页交互体验至关重要,尤其是在...

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

    主要为大家详细介绍了原生javascript实现图片放大镜效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    原生js实现放大镜效果

    本文主要分享了原生js封装实现放大镜效果的示例代码,具有一定的参考价值,下面跟着小编一起来看下吧

    原生js苹果iPhone文字阅读器放大镜查看图片文字效果

    为了改善这种情况,开发者可以利用原生JavaScript来实现一个类似于“放大镜”的功能,使用户能够更清晰地查看这些内容。下面我们将详细探讨这个知识点。 首先,我们要理解“放大镜”效果是如何工作的。它通常通过...

    原生js实现商品放大镜效果

    本文主要分享了原生js实现商品放大镜效果的示例代码。具有一定的参考价值,下面跟着小编一起来看下吧

    原生JS实现的放大镜效果实例代码

    放大镜大家在各大网站都能见到,下面小编给大家分享一段 ,代码是基于原生js实现的放大镜效果,代码简单易懂,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧

    js实现放大镜(类似淘宝可以切换图片).rar

    这个"js实现放大镜(类似淘宝可以切换图片).rar"压缩包文件包含了实现这一功能的代码示例。下面我们将深入探讨相关知识点。 首先,我们来了解JavaScript作为开发语言的基础。JavaScript是一种轻量级、解释型的脚本...

    JavaScript实现放大镜效果代码示例

    JavaScript实现的放大镜效果是一种常见的网页交互功能,它允许用户在鼠标悬停在小图上时,通过一个浮动的放大窗口预览图像的细节。这种效果常见于电子商务网站的产品图片展示,增强了用户体验,使得用户无需点击就能...

    原生js简单实现放大镜特效

    本文将详细介绍如何使用原生JavaScript来实现一个简单的放大镜效果。 首先,我们需要了解几个关键的JavaScript属性和事件: 1. `offsetWidth` 和 `offsetHeight`:分别返回元素的宽度和高度,包括内边距和边框,但...

Global site tag (gtag.js) - Google Analytics