label+input实现按钮开关切换效果的实例


Posted in Javascript onAugust 16, 2017

代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    .ipt {
      display: none;
    }
    .box {
      width: 74px;
      height: 30px;
      line-height: 30px;
      overflow: hidden;
      border: 1px solid #eee;
      border-radius: 4px;
      position: relative;
      cursor: pointer;
    }
    label {display:inline-block;}
    .ipt:checked + .box .switch-btn {
      left: 0;
    }
    .switch-btn {
      position: absolute;
      left: -37px;
      top: 0;
      width: 111px;
      height: 30px;
      transition: all 0.5s;
    }
    .switch-btn span{
      width: 37px;
      height: 30px;
      display: block;
      text-align: center;      
      float: left;
      font-size: 14px;
    }
    .on {
      background: #52B13C;
      color: white;
    }
    .white {
      background: white;
    }
    .off {
      background: #EEEEEE;
    }
  </style>
</head>
<body>
  <p>主要使用label+input来实现改变left的值,下面是核心代码,意思就是<code>选中的input的兄弟节点.box下的.switch-btn元素的left会变成0px(原来是-37px);</code></p>
  <pre>
    .ipt:checked + .box .switch-btn {
      left: 0;
    }
  </pre>
  <p>当然要配合transition来实现</p>
  <p>下面是效果</p>
  <div class="wrap">
    <label>
      <input class="ipt" type="checkbox" name="" value="">
      <div class="box">
        <div class="switch-btn">
          <span class="on">ON</span>
          <span class="white"></span>
          <span class="off">OFF</span>
        </div>
      </div>
    </label>
  </div>
  <p>全部css代码</p>
  <pre>
      .ipt {
        display: none;
      }
      .box {
        width: 74px;
        height: 30px;
        line-height: 30px;
        overflow: hidden;
        border: 1px solid #eee;
        border-radius: 4px;
        position: relative;
        cursor: pointer;
      }
      .ipt:checked + .box .switch-btn {
        left: 0;
      }
      .switch-btn {
        position: absolute;
        left: -37px;
        top: 0;
        width: 111px;
        height: 30px;
        transition: all 0.5s;
      }
      .switch-btn span{
        width: 37px;
        height: 30px;
        display: block;
        text-align: center;      
        float: left;
        font-size: 14px;
      }
      .on {
        background: #52B13C;
        color: white;
      }
      .white {
        background: white;
      }
      .off {
        background: #EEEEEE;
      }
  </pre>
</body>
</html>

以上这篇label+input实现按钮开关切换效果的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
document.getElementById为空或不是对象的解决方法
Jan 24 Javascript
javascript中substr,substring,slice.splice的区别说明
Nov 25 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
Mar 14 Javascript
javascript打印大全(打印页面设置/打印预览代码)
Mar 29 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
Jan 24 Javascript
Webpack打包慢问题的完美解决方法
Mar 16 Javascript
详解webpack 如何集成第三方js库
Jun 29 Javascript
详解使用路由延迟加载 Angular 模块
Oct 12 Javascript
jQuery中可见性过滤器简单用法示例
Mar 31 jQuery
JS块级作用域和私有变量实例分析
May 11 Javascript
详解Vue-Router源码分析路由实现原理
May 15 Javascript
微信小程序框架的页面布局代码
Aug 17 Javascript
bootstrap modal+gridview实现弹出框效果
Aug 15 #Javascript
vue实现点击图片放大效果
Aug 15 #Javascript
jquery获取链接地址和跳转详解(推荐)
Aug 15 #jQuery
JavaScript获取tr td 的三种方式全面总结(推荐)
Aug 15 #Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 #jQuery
Vue组件通信实践记录(推荐)
Aug 15 #Javascript
js移动端事件基础及常用事件库详解
Aug 15 #Javascript
You might like
mysql下创建字段并设置主键的php代码
2010/05/16 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
php二维数组用键名分组相加实例函数
2013/11/06 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
php通过strpos查找字符串出现位置的方法
2015/03/17 PHP
解决出现SoapFault (looks like we got no XML document)的问题
2017/06/24 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
javascript中的location用法简单介绍
2007/03/07 Javascript
javascript面向对象之访问对象属性的两种方式分析
2015/01/13 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
2016/08/25 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
微信小程序实现星级评价效果
2018/12/28 Javascript
Vue实现点击显示不同图片的效果
2019/08/10 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
Python datetime时间格式化去掉前导0
2014/07/31 Python
Python常用的爬虫技巧总结
2016/03/28 Python
python paramiko模块学习分享
2017/08/23 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
Python Flask前后端Ajax交互的方法示例
2018/07/31 Python
python模块导入的方法
2019/10/24 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
高中毕业自我鉴定范文
2013/10/02 职场文书
2014年三八妇女节活动方案
2014/02/28 职场文书
个人授权委托书范本
2014/09/14 职场文书
房屋买卖协议书范本
2014/09/27 职场文书
志愿服务心得体会
2016/01/15 职场文书
争做文明公民倡议书
2019/06/24 职场文书