This article shares the specific code of js to realize the magnifying glass function of shopping website for your reference. The specific content is as follows First look at the effect diagram: First is the layout, a small frame on the left, including a mouse movement frame, and a magnification frame on the right. <div class="box"> <div class="small"> <img src="small3.jpg" alt=""> <div class="move"></div> </div> <div class="big"> <img src="big3.jpg" alt=""> </div> </div> Write some CSS .small{ position: relative; float: left; width: 450px; height: 450px; border:1px solid #000; } .small .move{ position: absolute; top:0; width: 300px; height: 300px; background-color: rgba(0,0,0,0.4); cursor:move; display: none; } .big{ position: relative; float: left; width: 540px; height: 540px; margin-left: 20px; overflow: hidden; border:1px solid #000; display: none; } .bigimg{ position: absolute; top:0; left: 0; } js part: var box=document.getElementsByClassName('box')[0],small=box.getElementsByClassName('small')[0],move=small.getElementsByClassName('move')[0],smallImg=small.getElementsByTagName('img')[0],big=box.getElementsByClassName('big')[0],bigImg=big.getElementsByTagName('img')[0]; //First, get all the required elements small.onmouseover=function(){ move.style.display='block'; big.style.display="block"; }; small.onmouseout=function(){ move.style.display='none'; big.style.display="none"; }; small.onmousemove=function(e){ e=e||window.event; //Compatibility considerations var x=e.clientX-smallImg.getBoundingClientRect().left-move.offsetWidth/2; var y=e.clientY-smallImg.getBoundingClientRect().top-move.offsetHeight/2; if(x<0){ x=0; } if(x>smallImg.offsetWidth-move.offsetWidth){ x=smallImg.offsetWidth-move.offsetWidth; } if(y<0){ y=0; } if(y>smallImg.offsetHeight-move.offsetHeight){ y=smallImg.offsetHeight-move.offsetHeight; } move.style.left=x+"px"; move.style.top=y+"px"; //Code to implement the left move block following the mouse movement var scale = bigImg.offsetWidth/smallImg.offsetWidth; //Enlarge according to the proportion bigImg.style.left='-'+x*scale+'px'; //Because the image needs to be moved left and up, a negative sign must be added bigImg.style.top='-'+y*scale+'px'; } The magnifying glass effect is achieved! The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: Analysis of MySQL multi-table joint query operation examples
>>: How to configure Hexo and GitHub to bind a custom domain name under Windows 10
Introduction to influxDB influxDB is a distribute...
1. Call the parent component method directly thro...
This article records the installation graphic tut...
Table of contents Preface: 1. Install Docker 2. I...
background Today, I was browsing CodePen and saw ...
Full-text indexing requires special query syntax....
Related reading: Solve the problem that the servi...
1. Function Mainly used to preserve component sta...
Preface About the performance comparison between ...
character Decimal Character Number Entity Name --...
In the process of learning CSS3, I found that man...
1. Run the .sh file You can run it directly using...
We often need to summarize data without actually ...
For example: Copy code The code is as follows: <...
What are slots? We know that in Vue, nothing can ...