• 技术文章 >web前端 >js教程

    jQuery 如何实现一个滑动按钮开关

    高洛峰高洛峰2016-12-03 09:52:59原创890
    滑动开关按钮大家在各大网站都能见到,下面小编给大家分享一篇基于jquery实现的一个滑动按钮开关效果,感兴趣的朋友可以参考下实现代码。

    代码:

    <!DOCTYPE html> 
    <html> 
    <head> 
    <meta charset="UTF-8"> 
    <title>jquery做的滑动按钮开关</title> 
    <link rel="stylesheet" type="text/css" href="bootstrap/bootstrap.min.css"/> 
    </head> 
    <style> 
    .switch{ 
    width: 100px; 
    margin: 100px 0px 0 100px; 
    } 
    .btn_fath{ 
    margin-top: 10px; 
    position: relative; 
    border-radius: 20px; 
    } 
    .btn1{ 
    float: left; 
    } 
    .btn2{ 
    float: right; 
    } 
    .btnSwitch{ 
    height: 40px; 
    width: 50px; 
    border:none; 
    color: #fff; 
    line-height: 40px; 
    font-size: 16px; 
    text-align: center; 
    z-index: 1; 
    } 
    .move{ 
    z-index: 100; 
    width: 40px; 
    border-radius: 20px; 
    height: 40px; 
    position: absolute; 
    cursor: pointer; 
    border: 1px solid #828282; 
    background-color: #f1eff0; 
    box-shadow: 1px 2px 2px 1px #fff inset,0 0 5px 1px #999; 
    } 
    .on .move{ 
    left: 60px; 
    } 
    .on.btn_fath{ 
    background-color: #5281cd; 
    } 
    .off.btn_fath{ 
    background-color: #828282; 
    } 
    </style> 
    <body> 
    <div> 
    <div class="btn_fath clearfix on" onclick="toogle(this)"> 
    <div data-state="on"></div> 
    <div class="btnSwitch btn1">ON</div> 
    <div class="btnSwitch btn2 ">OFF</div> 
    </div> 
    <div class="btn_fath clearfix off" onclick="toogle(this)"> 
    <div data-state="off"></div> 
    <div class="btnSwitch btn1">ON</div> 
    <div class="btnSwitch btn2 ">OFF</div> 
    </div> 
    </div> 
    <script type="text/javascript" src="jquery/jquery.min.js"></script> 
    <script type="text/javascript" src="bootstrap/bootstrap.min.js"></script> 
    <script type="text/javascript"> 
    function toogle(th){ 
    var ele = $(th).children(".move"); 
    if(ele.attr("data-state") == "on"){ 
    ele.animate({left: "0"}, 300, function(){ 
    ele.attr("data-state", "off"); 
    alert("关!"); 
    }); 
    $(th).removeClass("on").addClass("off"); 
    }else if(ele.attr("data-state") == "off"){ 
    ele.animate({left: '60px'}, 300, function(){ 
    $(this).attr("data-state", "on"); 
    alert("开!"); 
    }); 
    $(th).removeClass("off").addClass("on"); 
    } 
    } 
    </script> 
    </body> 
    </html>

    需要注意的是:

    1、这边滑动使用的速度是300ms,好像是匀速,没有线性的快慢那种;试着找下能不能像CSS3中ease那种线性运动的。

    2、animate方法中的回调函数,即运动结束后调用的function。

    以上所述是小编给大家介绍的jQuery =实现一个滑动按钮开关的功能,希望对大家有所帮助

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:jQuery
    上一篇:JQuery学习总结 下一篇:第一次接触神奇的前端框架vue.js
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 详细介绍JavaScript二叉树及各种遍历算法• 深入理解JavaScript内存管理和GC算法• 项目过大怎么办?如何合理拆分Angular项目?• 怎么使用pkg将Node.js项目打包为可执行文件?• 一文掌握JavaScript树结构深度优先算法
    1/1

    PHP中文网