欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

玩转JQuery来实现放大镜效果

程序员文章站 2022-03-22 10:40:16
目前流行的放大镜效果,在很多企业网站以及一些商城网站被广泛使用,下面我们一起看看如何来实现它吧,精彩继续,敬请期待~ Document...</div> <div class="content"> <p>目前流行的放大镜效果,在很多企业网站以及一些商城网站被广泛使用,下面我们一起看看如何来实现它吧,精彩继续,敬请期待~</p> <pre><code class="prism language-javascript"><span class="token operator"><</span><span class="token operator">!</span><span class="token constant">DOCTYPE</span> html<span class="token operator">></span> <span class="token operator"><</span>html lang<span class="token operator">=</span><span class="token string">"en"</span><span class="token operator">></span> <span class="token operator"><</span>head<span class="token operator">></span> <span class="token operator"><</span>meta charset<span class="token operator">=</span><span class="token string">"UTF-8"</span><span class="token operator">></span> <span class="token operator"><</span>meta name<span class="token operator">=</span><span class="token string">"viewport"</span> content<span class="token operator">=</span><span class="token string">"width=device-width, initial-scale=1.0"</span><span class="token operator">></span> <span class="token operator"><</span>title<span class="token operator">></span>Document<span class="token operator"><</span><span class="token operator">/</span>title<span class="token operator">></span> <span class="token operator"><</span>script src<span class="token operator">=</span><span class="token string">"./jquery.js"</span><span class="token operator">></span><span class="token operator"><</span><span class="token operator">/</span>script<span class="token operator">></span> <span class="token operator"><</span>style<span class="token operator">></span> <span class="token operator">*</span><span class="token punctuation">{</span> margin<span class="token punctuation">:</span> <span class="token number">0</span><span class="token punctuation">;</span> padding<span class="token punctuation">:</span> <span class="token number">0</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> #small<span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token number">500</span>px<span class="token punctuation">;</span> height<span class="token punctuation">:</span> <span class="token number">500</span>px<span class="token punctuation">;</span> border<span class="token punctuation">:</span> <span class="token number">1</span>px red solid<span class="token punctuation">;</span> position<span class="token punctuation">:</span> relative<span class="token punctuation">;</span> <span class="token punctuation">}</span> #small img<span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token number">500</span>px<span class="token punctuation">;</span> height<span class="token punctuation">:</span> <span class="token number">500</span>px<span class="token punctuation">;</span> <span class="token punctuation">}</span> #big<span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token number">500</span>px<span class="token punctuation">;</span> height<span class="token punctuation">:</span> <span class="token number">500</span>px<span class="token punctuation">;</span> border<span class="token punctuation">:</span> <span class="token number">1</span>px red solid<span class="token punctuation">;</span> <span class="token comment">/* 滚动条自动溢出隐藏 */</span> <span class="token comment">/* overflow: auto; */</span> overflow<span class="token punctuation">:</span> hidden<span class="token punctuation">;</span> margin<span class="token operator">-</span>left<span class="token punctuation">:</span> <span class="token number">10</span>px<span class="token punctuation">;</span> <span class="token punctuation">}</span> #big img<span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token number">1000</span>px<span class="token punctuation">;</span> height<span class="token punctuation">:</span> <span class="token number">1000</span>px<span class="token punctuation">;</span> <span class="token punctuation">}</span> #box<span class="token punctuation">{</span> display<span class="token punctuation">:</span> flex<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">/* 遮罩层样式 */</span> #mask<span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token number">150</span>px<span class="token punctuation">;</span> height<span class="token punctuation">:</span> <span class="token number">150</span>px<span class="token punctuation">;</span> background<span class="token punctuation">:</span> <span class="token function">rgba</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">0.3</span><span class="token punctuation">)</span><span class="token punctuation">;</span> position<span class="token punctuation">:</span> absolute<span class="token punctuation">;</span> top<span class="token punctuation">:</span> <span class="token number">0</span><span class="token punctuation">;</span> left<span class="token punctuation">:</span> <span class="token number">0</span><span class="token punctuation">;</span> display<span class="token punctuation">:</span> none<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token operator"><</span><span class="token operator">/</span>style<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>head<span class="token operator">></span> <span class="token operator"><</span>body<span class="token operator">></span> <span class="token operator"><</span>div id<span class="token operator">=</span><span class="token string">"box"</span><span class="token operator">></span> <span class="token operator"><</span>div id<span class="token operator">=</span><span class="token string">"small"</span><span class="token operator">></span> <span class="token operator"><</span>img src<span class="token operator">=</span><span class="token string">"./1.jpg"</span> alt<span class="token operator">=</span><span class="token string">""</span><span class="token operator">></span> <span class="token operator"><</span>div id<span class="token operator">=</span><span class="token string">"mask"</span><span class="token operator">></span><span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span> <span class="token operator"><</span>div id<span class="token operator">=</span><span class="token string">"big"</span><span class="token operator">></span> <span class="token operator"><</span>img src<span class="token operator">=</span><span class="token string">"./1.jpg"</span> alt<span class="token operator">=</span><span class="token string">""</span><span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span> <span class="token operator"><</span>script<span class="token operator">></span> <span class="token comment">//遮罩层 </span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">mouseenter</span><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#mask,#big"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">show</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">mouseleave</span><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#mask,#big"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">hide</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">mousemove</span><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span>e<span class="token punctuation">)</span><span class="token punctuation">{</span> <span class="token comment">//计算遮罩层的变量</span> <span class="token keyword">var</span> x<span class="token operator">=</span>e<span class="token punctuation">.</span>pageX<span class="token operator">-</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">offset</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>left<span class="token operator">-</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#mask"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">width</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">2</span><span class="token punctuation">;</span> <span class="token keyword">var</span> y<span class="token operator">=</span>e<span class="token punctuation">.</span>pageY<span class="token operator">-</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">offset</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>top<span class="token operator">-</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#mask"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">2</span><span class="token punctuation">;</span> <span class="token comment">//设置最小限制</span> x<span class="token operator"><</span><span class="token number">0</span><span class="token operator">?</span>x<span class="token operator">=</span><span class="token number">0</span><span class="token punctuation">:</span>x<span class="token punctuation">;</span> y<span class="token operator"><</span><span class="token number">0</span><span class="token operator">?</span>y<span class="token operator">=</span><span class="token number">0</span><span class="token punctuation">:</span>y<span class="token punctuation">;</span> <span class="token comment">//设置最大限制</span> x<span class="token operator">></span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">width</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#mask"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">width</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">?</span>x<span class="token operator">=</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">width</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#mask"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">width</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">width</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#mask"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">width</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> y<span class="token operator">></span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#mask"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">?</span>y<span class="token operator">=</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#mask"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#mask"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#mask"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">css</span><span class="token punctuation">(</span><span class="token punctuation">{</span> left<span class="token punctuation">:</span>x<span class="token operator">+</span><span class="token string">"px"</span><span class="token punctuation">,</span> top<span class="token punctuation">:</span>y<span class="token operator">+</span><span class="token string">"px"</span> <span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token comment">//计算小盒子和大图片的比例</span> <span class="token keyword">var</span> bilix<span class="token operator">=</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#big img"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">width</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">width</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> biliy<span class="token operator">=</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#big img"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#small"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">height</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//根据遮罩层的top和left 来滚动大盒子的scrollTop和scrollLeft</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#big"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">scrollLeft</span><span class="token punctuation">(</span>x<span class="token operator">*</span>bilix<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#big"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">scrollTop</span><span class="token punctuation">(</span>y<span class="token operator">*</span>biliy<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token operator"><</span><span class="token operator">/</span>script<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>body<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>html<span class="token operator">></span> </code></pre> <p>本文地址:https://blog.csdn.net/weixin_53587096/article/details/112054003</p> </div> <div class="tags"> 相关标签: <a href="/t/javascript/" target="_blank"> javascript </a> </div> <div class="info-pre-next"> <p> 上一篇: <a href="/article/282339.html"> 历史上多尔衮为何不自己当皇帝?真相是什么 </a> </p> <p> 下一篇: <a href="/article/282341.html"> jQuery中全选按钮的练习 </a> </p> </div> <div class="wz_tuijian"> <p> 推荐阅读 </p> <ul> <li> <a href="/article/2314127.html" target="_blank" title="jQuery向下滚动即时加载内容实现的瀑布流效果_PHP"> <h2> jQuery向下滚动即时加载内容实现的瀑布流效果_PHP </h2> </a> </li> <li> <a href="/article/2307506.html" target="_blank" title="一个jquery实现的不错的多行文字图片滚动效果_jquery"> <h2> 一个jquery实现的不错的多行文字图片滚动效果_jquery </h2> </a> </li> <li> <a href="/article/2306567.html" target="_blank" title="jQuery实现图片上传预览效果功能完整实例【测试可用】"> <h2> jQuery实现图片上传预览效果功能完整实例【测试可用】 </h2> </a> </li> <li> <a href="/article/2306329.html" target="_blank" title="使用JQuery实现图片轮播效果"> <h2> 使用JQuery实现图片轮播效果 </h2> </a> </li> <li> <a href="/article/2305786.html" target="_blank" title="jQuery实现炫丽的3d旋转星空效果"> <h2> jQuery实现炫丽的3d旋转星空效果 </h2> </a> </li> <li> <a href="/article/2305140.html" target="_blank" title="使用jquery实现图文切换效果另加特效_jquery"> <h2> 使用jquery实现图文切换效果另加特效_jquery </h2> </a> </li> <li> <a href="/article/2301093.html" target="_blank" title="基于jQuery实现的菜单切换效果_jquery"> <h2> 基于jQuery实现的菜单切换效果_jquery </h2> </a> </li> <li> <a href="/article/2299724.html" target="_blank" title="jquery animate实现鼠标放上去显示离开隐藏效果"> <h2> jquery animate实现鼠标放上去显示离开隐藏效果 </h2> </a> </li> <li> <a href="/article/2299412.html" target="_blank" title="用jquery中插件dialog实现弹框效果实例代码"> <h2> 用jquery中插件dialog实现弹框效果实例代码 </h2> </a> </li> <li> <a href="/article/2296998.html" target="_blank" title="jQuery实现的进度条效果_jquery"> <h2> jQuery实现的进度条效果_jquery </h2> </a> </li> </ul> </div> </article> </div> </main> <footer><div class="box"><div class="ft_nav"><div class="ft_about"><p>关于网站</p><ul><li><a href="/sitemap.xml" target="_blank" title="网站地图">网站地图</a></li><li><a href="/list/2/" title="最新程序员文章站">最新程序员文章站</a></li></ul></div><div class="ft_contact"><ul><li>本站所有数据收集于网络如有侵犯到您的权益,请联系我们进行下架处理。</li><li class="email_show"></li></ul></div></div><div class="copyright"><div class="cr_left"><p> 备案号:<a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank">粤ICP备20058927号</a></p><p>© Copyright © 2020-2022 www.superweb999.com 程序员文章站. </p></div></div></div></footer> </body> </html>