将复选框转换为切换开关 jQuery switchify

  • 源码大小:7.69KB
  • 所需积分:1积分
  • 源码编号:19JP-3632
  • 浏览次数:941次
  • 最后更新:2023年07月04日
  • 所属栏目:表单
我要下载
加入收藏
本站默认解压密码:19jp.com 或 19jp_com

简介

switchify是一个简单、轻量级的jQuery插件,它可以通过一个JS调用将常规的复选框输入转换为iOS风格的切换开关。

参见:

  • JavaScript和纯CSS中的10个最佳切换开关
  • 10个最佳自定义复选框和无线电输入替换

如何使用它:

1.添加对jQuery库和switchify插件文件的引用。

  1. <!-- jQuery -->
  2. <script src="/path/to/cdn/jquery.min.js"></script>
  3.  
  4. <!-- switchify -->
  5. <link rel="stylesheet" href="/path/to/src/switchify.css">
  6. <script src="/path/to/src/switchify.js"></script>

2.在复选框输入上初始化插件并完成。

  1. <input class="toSwitch" id="option1" type="checkbox" name="option1" checked />
  2. <input class="toSwitch" id="option2" type="checkbox" name="option2" checked />
  3. <input class="toSwitch" id="option3" type="checkbox" name="option3" />
  4. ...
  1. $(function(){
  2. $('input[type=checkbox]').switchify();
  3. });

3.覆盖开关的默认样式。

  1. label.switchify.switchify-label {
  2. display: inline-block;
  3. }
  4.  
  5. label.switchify.switchify-label > input.switchified {
  6. display: none;
  7. }
  8.  
  9. label.switchify.switchify-label > span.switchify-switch {
  10. display: block;
  11. background-color: #cecece;
  12. height: 1em;
  13. width: 1.6em;
  14. position: relative;
  15. border: 1px solid #cecece;
  16. border-radius: 1em;
  17. transition: background-color 0.25s, border-color 0.25s;
  18. }
  19.  
  20. label.switchify.switchify-label > span.switchify-switch::after {
  21. content: "";
  22. background-color: #fff;
  23. display: block;
  24. height: 1em;
  25. width: 1em;
  26. position: absolute;
  27. border-radius: 1em;
  28. left: 0;
  29. transition: left 0.25s;
  30. }
  31.  
  32. label.switchify.switchify-label > input.switchified:checked + span.switchify-switch {
  33. background-color: #4bcc23;
  34. border-color: #4bcc23;
  35. }
  36.  
  37. label.switchify.switchify-label > input.switchified:checked + span.switchify-switch::after {
  38. left: calc(100% - 1em);
  39. }

预览截图