返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS版图片放大镜效果
  • 951
分享到

JS版图片放大镜效果

2024-04-02 19:04:59 951人浏览 薄情痞子
摘要

本文实例为大家分享了js实现图片放大镜效果的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head lang=

本文实例为大家分享了js实现图片放大镜效果的具体代码,供大家参考,具体内容如下


<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        *{
            padding:0;
            margin:0;
        }
        .box{
            position: relative;
            width:350px;
            height:510px;
            margin:auto;
        }
        .middle {
            position: relative;
            border: 1px solid pink;
            overflow: hidden;

        }
        .hover_ceng{
            position: absolute;
            z-index: 1;
            background: url(./img/bg.png);
            background-size: 4px 4px;
            display: none;

        }
        .middle >img{
            width:100%;
            height:100%;
        }

        .small{
            position: relative;
            width:350px;
            height:110px;
            text-align: center;
        }
        .small>span{
            position: absolute;
            display:block;
            top:15px;
            line-height: 50px;
            font-size: 20px;
            width:20px;
            height:50px;
            background: #eabcb8;
        }
        .small .leftbtn {
            left: 0;
        }
        .small .rightbtn {
            right: 0;
        }
        .small>.list>ul> li{
            list-style:none ;
            float:left;
            width:250px;
        }
        .list{
            width:250px;
            display:inline-block;
            text-align: left;
            overflow: hidden;
        }
        .list_ul{
            width:500px;
            overflow: hidden;
            height:auto;
            transition: all 0.5s linear ;
        }
        .small-li{
            display: inline-block;
            width:54px;
            height:58px;
            margin:10px 0;
            border:2px solid transparent;
        }
        .small-li> img{
            width:100%;
            height:100%;
        }

        .big{
            position: absolute;
            top:0;
            left:350px;
            height:400px;
            width:350px;
            border:1px solid gainsboro;
            background-image: url(./img/big8.jpg);
            
            display: none;
            
        }

    </style>
</head>
<body>
 <div class="box" >
     <div class="middle" style=" width:350px;height:400px;">
         <div class="hover_ceng" style="  width:153.508px;height:200px;"></div>
         <img  id="middleimg" src="./img/middle.5.jpg" alt=""/>
     </div>
     <div class="small">
         <span class="leftbtn"><</span>
         <div class="list">
           <ul class="list_ul">
            <li>
                 <div class="small-li" data-middle="middle.5.jpg" data-big="big5.jpg">
                     <img src="./img/small5.jpg"   alt=""/>
                 </div>
                 <div class="small-li"  data-middle="middle.6.jpg" data-big="big6.jpg">
                     <img src="./img/small6.jpg"  alt=""/>
                 </div>
                 <div class="small-li"  data-middle="middle.7.jpg" data-big="big7.jpg">
                     <img src="./img/small7.jpg"  alt=""/>
                 </div>
                 <div class="small-li" data-middle="middle.8.jpg" data-big="big8.jpg">
                     <img src="./img/small8.jpg"   alt=""/>
                 </div>
            </li>
            <li>
               <div class="small-li" data-middle="middle.1.jpg" data-big="big1.jpg">
                   <img src="./img/small1.jpg"   alt=""/>
               </div>
               <div class="small-li"  data-middle="middle.2.jpg" data-big="big2.jpg">
                   <img src="./img/small2.jpg"  alt=""/>
               </div>
               <div class="small-li"  data-middle="middle.3.jpg" data-big="big3.jpg">
                   <img src="./img/small3.jpg"  alt=""/>
               </div>
               <div class="small-li" data-middle="middle.4.jpg" data-big="big4.jpg">
                   <img src="./img/small4.jpg"   alt=""/>
               </div>
            </li>
           </ul>
         </div>
         <span class="rightbtn">> </span>
     </div>
     <div class="big">
         <!--<img src="./img/big6.jpg" alt=""/>-->
     </div>
 </div>
 <script>
     var smallblack=document.getElementsByClassName("small-li");
     var middleimage=document.getElementById("middleimg");
     var middleblock=document.getElementsByClassName("middle")[0];
     var ceng=document.getElementsByClassName("hover_ceng")[0];
     var box_b=document.getElementsByClassName("box")[0];
     var bigbang=document.getElementsByClassName ("big")[0];
     var leftbutton=document.getElementsByClassName ("leftbtn")[0];
     var rightbutton=document.getElementsByClassName ("rightbtn")[0];
     var listmeun=document.getElementsByClassName ("list_ul")[0];
      var befortu=null;
     for(var i =0;i<smallblack.length;i++){
         smallblack[i].onmouseenter=function(){
             if(befortu)befortu.style.borderColor="transparent";
             this.style.borderColor="pink";
             befortu =this;
             //中等图出现
             middleimage.src="./img/" +  this.getAttribute("data-middle");
             //获取大图
              bigbang.style.backgroundImage="url(./img/"+this.getAttribute('data-big')+")";
         }
     }
  //添加鼠标进入事件var

     middleblock.onmouseenter=function(){
      this.style.cursor ="move";
      ceng.style.display ="block";
      bigbang.style.display ="block";
     }
     middleblock.onmouseleave=function(){
         ceng.style.display="none";
         bigbang.style.display ="none";
     }
     middleblock.onmousemove =function(m){
         var pageX = m.pageX || m.clientX;
         var pageY = m.pageY || m.clientY;
         //获取当前元素的偏移量  offsetLeft  左偏移   offsetTop  上偏移 this.offsetHeight,this.offsetWidth
       pageX = pageX -(box_b.offsetLeft+parseInt (ceng.style.width)/2);
       pageY = pageY -(box_b.offsetTop+parseInt (ceng.style.height)/2);
         var bigleft=parseInt (this.style.width) - parseInt (ceng.style.width);
         var bigtop=parseInt (this.style.height) - parseInt (ceng.style.height);
         pageX = pageX <=0 ? 0:(pageX >=bigleft? bigleft :pageX );
         pageY = pageY <=0 ? 0:(pageY >=bigtop? bigtop :pageY );
         ceng.style.left= pageX +"px";
         ceng.style.top= pageY +"px";
         //鼠标移动大图跟着移动
        bigbang.style.backgroundPosition = (-pageX * 2.28) + "px " + (-pageY * 2) + "px ";

     }
     leftbutton.onclick = function(){
         listmeun.style.marginLeft =0+"px";
     }
    rightbutton.onclick = function(){
         listmeun.style.marginLeft =-250+"px";
     }
 </script>
</body>
</html>

最大的图没能从原网站上下载下来,放大效果可能会出戏,还得学习扒拉图片。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: JS版图片放大镜效果

本文链接: https://lsjlt.com/news/136018.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JS版图片放大镜效果
    本文实例为大家分享了JS实现图片放大镜效果的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head lang=...
    99+
    2024-04-02
  • Vue3实现图片放大镜效果
    本文实例为大家分享了Vue3实现图片放大镜效果的具体代码,供大家参考,具体内容如下 实现效果 代码 <template> <div class="good...
    99+
    2024-04-02
  • JS实现图片放大镜效果的脚本怎么写
    这篇文章主要介绍“JS实现图片放大镜效果的脚本怎么写”,在日常操作中,相信很多人在JS实现图片放大镜效果的脚本怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS实现图片放大镜效果的脚本怎么写”的疑惑有所...
    99+
    2023-06-27
  • JS实现京东放大镜效果
    本文实例为大家分享了JS实现京东放大镜效果的具体代码,供大家参考,具体内容如下 需要实现的效果图如下: ①布局:布局采用一个大盒子里面首先分为上下两个部分,然后下部分又分为左右两个...
    99+
    2024-04-02
  • css3中怎么实现图片放大镜特效效果
    这篇文章将为大家详细讲解有关css3中怎么实现图片放大镜特效效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码如下:<ul class="...
    99+
    2024-04-02
  • js实现鼠标移入图片放大效果
    使用原生js编写一个鼠标移入图片放大效果,供大家参考,具体内容如下 目标 给图片添加鼠标移动放大方法效果,移到哪里放大哪里 先看看效果是不是你想要的,再看代码 移入前 移入后 h...
    99+
    2024-04-02
  • js实现简单的放大镜效果
    本文实例为大家分享了js实现简单放大镜效果的具体代码,供大家参考,具体内容如下 效果 效果,鼠标在原图片移动,黄色小盒子跟随鼠标移动,黄色小盒子盖住的部分,在显示区显示 效果图如下:...
    99+
    2024-04-02
  • js如何自制图片放大镜功能
    这篇文章给大家分享的是有关js如何自制图片放大镜功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下注释:small img size:600x400big ...
    99+
    2024-04-02
  • 原生JS怎么实现放大镜效果
    这篇文章给大家分享的是有关原生JS怎么实现放大镜效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下<html>  <head> &...
    99+
    2024-04-02
  • JS实现图片自动播放效果
    本文实例为大家分享了JS实现图片自动播放效果的具体代码,供大家参考,具体内容如下 JS实现图片自动播放 1、先看效果图 2、完整代码 <!DOCTYPE html>...
    99+
    2024-04-02
  • js如何实现图片放大缩小计时器效果
    小编给大家分享一下js如何实现图片放大缩小计时器效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!知识要点var fn=setI...
    99+
    2024-04-02
  • js模拟实现京东详情页图片放大效果
    本文实例为大家分享了js实现京东详情页图片放大的具体代码,供大家参考,具体内容如下 效果: html: <div class="preview_img"> <...
    99+
    2024-04-02
  • Vue3.0 手写放大镜效果
    需要实现的效果是: 固定放大两倍,鼠标进入到左侧图片区域的时候,遮罩层显示,离开时,遮罩层隐藏。  css中的cursor   鼠标跟随效果如何实现: (子绝父...
    99+
    2024-04-02
  • JavaScript实现放大镜效果
    本文实例为大家分享了JavaScript实现放大镜效果的具体代码,供大家参考,具体内容如下 这次实现的效果如下: 这次的案例稍微有一点难度,在css和js上都需要多加思考,话不多说...
    99+
    2024-04-02
  • 如何使用js制作淘宝放大镜效果
    小编给大家分享一下如何使用js制作淘宝放大镜效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下<!DOCTYPE html> <html> &...
    99+
    2024-04-02
  • 原生js如何实现商品放大镜效果
    这篇文章将为大家详细讲解有关原生js如何实现商品放大镜效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实现原理大图上的放大镜:小图的显示区域=大图片大小:小图片大小=大...
    99+
    2024-04-02
  • js实现购物网站商品放大镜效果
    本文实例为大家分享了js实现购物网站商品放大镜效果的具体代码,供大家参考,具体内容如下 首先说一下原理,以天猫某商品放大镜效果为例: 所谓的放大镜效果,其实也是欺骗我们眼球的一种效...
    99+
    2024-04-02
  • js实现放大镜效果的思路与代码
    本文实例为大家分享了js实现放大镜效果的具体代码,供大家参考,具体内容如下 样式展示: 思路 先准备两张图片,一张小图,一张大图,并且两张图片有一个整数比值 在小图片的上方设置一个...
    99+
    2024-04-02
  • CSS怎么设置图片放大效果
    这篇文章主要介绍CSS怎么设置图片放大效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!思路:图片放大的动画效果还是由transition和transform实现。先设置 div 的初始位置,过渡的时间等,之后设置 ...
    99+
    2023-06-27
  • 如何基于jQuery插件jqzoom实现的图片放大镜效果
    这篇文章主要介绍如何基于jQuery插件jqzoom实现的图片放大镜效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!jqzoom插件实现图片放大镜效果。图1.1jqzoom插件实现...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作