Heim > Artikel > Web-Frontend > So implementieren Sie einen Schiebeschalter mit jQuery
Sie können Schiebeschalter-Schaltflächen auf allen wichtigen Websites sehen. Nachfolgend werde ich Ihnen einen Artikel über einen Schiebeschalter-Effekt basierend auf JQuery vorstellen.
Code:
<!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>
Es ist zu beachten, dass:
1 Die Geschwindigkeit, die hier zum Gleiten verwendet wird, beträgt 300 ms, was eine konstante Geschwindigkeit zu sein scheint, nicht linear Geschwindigkeit; Versuchen Sie herauszufinden, ob es sich in CSS3 linear bewegen kann.
2. Die Rückruffunktion in der Animationsmethode ist die Funktion, die nach Ende der Übung aufgerufen wird.
Das Obige ist die vom Herausgeber eingeführte jQuery = zur Implementierung der Funktion eines Schiebeknopfschalters. Ich hoffe, dass sie für alle hilfreich ist