jQuery实现验证码控制按钮及图片放大功能分析

下面分享两个小案例:

1、实现发送验证码控制按钮禁用

主要步骤及代码思路是,

  • 添加点击按钮事件

  • 按钮被禁用

  • 替换按钮内的内容

  • 每隔1s进行倒计时的变换

  • 倒计时到0时,停止倒计时,按钮恢复发送

  • 按钮内容更改,禁用取消

<body>
    <input type="text" id="txt">
    <input type="button" id="btn" value="发送">

    <script src="../jq/jquery-1.12.4.min.js"></script>
    <script>
        var $btn = $("#btn");

        $btn.click(function(){
            var n = 5;
            $(this).prop("disabled",true).val(n + "s 后重新发送")

            var timmer = setInterval(() => {
            //这里如果使用function的话,$(this)指向的是window,需要将$(this)指向btn,那就直接使用箭头含税即可
                n--;
                $(this).val(n + "s 后重新发送")
                if(n == 0){
                    $(this).prop("disabled",false).val("重新发送");
                    clearInterval(timmer);
                }
            },1000)
        })
    </script>
</body>
image
2、放大镜切换项

主要步骤及代码思路是,

  • 首先要获取元素

  • 给小图加上鼠标移上事件,切换类名

  • 排他思想,切换类名,给图片的父级添加类名,父级的兄弟取消选中的样式的类名

  • 更改中图和大图的路径
    ①提前存储好图片路径的前缀(方便后期进行更改路径什么的)
    ②关于大图、中图前缀后面的路径,存储在类小图img的自定义属性中,这样方便后期取路径
    进行对应图片路径的设置

<style>
   *{
     margin: 0;
     padding: 0;
    }
   ul{
      list-style: none;
    }
   .leftbox{
       float: left;
       width: 400px;
    }
    .leftbox .top{
       width: 400px;
       border: 1px solid rgb(224, 224, 224);
    }
   .leftbox .tpo img{
      width: 400px;
    }
   .leftbox ul{
      width: 188px;
      margin: 10px auto;
    }
   .leftbox ul li{
      float: left;
      width: 54px;
      height: 54px;
      border: 1px solid rgb(255, 255, 255);
    }
    .leftbox ul li.current{
       border-color:  red;
     }
    .leftbox ul li + li{
       margin-left: 10px;
     }
     .rightbox{
        float: left;
        margin-left: 10px;
        width: 500px;
        height: 500px;
        border: 1px solid #eee;
        overflow: hidden;
     }      
</style>
  
<body>
   <div class="leftbox">
     <div class="top">
         <img src="img/m1.jpg" alt="">
   </div>
   <ul>
        <li class="current">
           <img src="img/s1.jpg" mrc="m1.jpg" brc="b1.jpg">
        </li>
        <li>
           <img src="img/s2.jpg" mrc="m2.jpg" brc="b2.jpg">
        </li>
        <li>
            <img src="img/s3.jpg" mrc="m3.jpg" brc="b3.jpg">
        </li>
    </ul>
</div>
  
 <div class="rightbox">
    <img src="img/b1.jpg" alt="">
 </div>
  
<script src="../jq/jquery-1.12.4.min.js"></script>
<script>
   //获取元素
   var $imgs = $(".leftbox ul li img");
   var $mimg = $(".leftbox .top img");
   var $bimg = $(".rightbox img");
   //添加鼠标移上事件
   $imgs.mouseenter(function(){
   // 1 排他思想,添加类名
             $(this).parent().addClass("current").siblings().removeClass("current");
   //2 更改中图、大图的路径
   // 获取路径
   var path = "img/"//图片路径前缀
   // 从小图的自定义属性中 获取路径
   var mrc = path + $(this).attr("mrc");
   var brc = path + $(this).attr("brc");
   // 设置路径
   $mimg.attr("src",mrc);
   $bimg.attr("src",brc);
})
</script>
</body>
image
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容