如何使 2 个相同的开关按钮在同一页面上工作?

罗伊巴恩

我有 2 个具有不同 ID 的切换按钮,但它们可以协同工作,尽管我将它们设置为不同的类。当点击其中之一时 - 第二个也在工作。我想,我错过了一堂课或其他什么——也许有办法让这样的元素更加独立/可重用?

jsbin

网址:

<div id="switch-gender-1" >
    <div class="switch-1" style="border-radius:25px;">
        <input type="radio" class="switch-input-1" name="view" value="male_1" id="male_1" checked>
        <label for="male_1" class="switch-label-1 switch-label-off-1 male-1">
            <i class="fa fa-mars" aria-hidden="true"></i>
            <label>
                Homme
            </label>
        </label>
        <input type="radio" class="switch-input-1" name="view" value="female_1" id="female_1">
        <label for="female_1" class="switch-label-1 switch-label-on-1 female-1">
            <label>
                Femme
            </label> <i class="fa fa-venus" aria-hidden="true"></i></label>
        <span class="switch-selection-1"></span>
    </div>
</div>

<div id="switch-gender-2" >
    <div class="switch-2" style="border-radius:25px;">
        <input type="radio" class="switch-input-2" name="view" value="male_2" id="male_2" checked>
        <label for="male_2" class="switch-label-2 switch-label-off-2 male">
            <i class="fa fa-mars" aria-hidden="true"></i>
            <label>
                Homme
            </label>
        </label>
        <input type="radio" class="switch-input-2" name="view" value="female_2" id="female_2">
        <label for="female_2" class="switch-label-2 switch-label-on-2 female">
            <label>
                Femme
            </label> <i class="fa fa-venus" aria-hidden="true"></i></label>
        <span class="switch-selection"></span>
    </div>
</div>

萨斯:

#switch-gender-1{
  .switch-1 {
    float: left;
    position: relative;
    height: 40px;
    width: 161px;
    background: #f6f6f6;
    border-radius: 3px;
    border: 2px solid #d1d1d1;
    .switch-label-1{
      .fa {
        font-size: 20px;
        margin-top: 7px;
      }&.male-1 {
         float: left;
       }
      &.female-1 {
        float: right;
      }
      &.male-1 .fa {
        float: left;
        margin-left: 12px;
        color: #333333;
      }
      &.female-1 .fa {
        float: right;
        margin-right: 15px;
        color: #333333;
      }
      &.male-1 label {
        left: 37px;
        top: -23px;
      }
      &.female-1 label {
        right: 35px;
        top: 4px;
      }

    }

  }
  .switch-label-1 {
    position: relative;
    z-index: 2;
    float: left;
    width: 58px;
    line-height: 26px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.35);
    text-align: center;
    cursor: pointer;
    & label {
      display: none;
      font-size: 14px;
      position: relative;
    }
    &:active {
      font-weight: bold;
    }
  }

  .switch-label-off-1 {
    padding-left: 2px;
  }
  .switch-input-1 {
    display: none;
    &:checked + .switch-label-1 {
      font-weight: bold;
      color: rgba(0, 0, 0, 0.65);
      text-shadow: 0 1px rgba(255, 255, 255, 0.25);
      -webkit-transition: 0.15s ease-out;
      -moz-transition: 0.15s ease-out;
      -ms-transition: 0.15s ease-out;
      -o-transition: 0.15s ease-out;
      transition: 0.15s ease-out;
      -webkit-transition-property: color, text-shadow;
      -moz-transition-property: color, text-shadow;
      -ms-transition-property: color, text-shadow;
      -o-transition-property: color, text-shadow;
      transition-property: color, text-shadow;
    }
    &:checked + .switch-label-1 label {
      display: block;
    }
    &:checked + .switch-label-on-1 ~ .switch-selection-1 {
      left: 46px;
      /* Note: left: 50%; doesn't transition in WebKit */
    }
    &:checked + .switch-label-1.female-1 .fa {
      position: relative;
      top: -30px;
    }
    &:checked + .switch-label-1 .fa {
      color: rgb(73, 200, 193);
    }
  }

  .switch-selection-1 {
    position: absolute;
    z-index: 1;
    top: -4px;
    left: -3px;
    display: block;
    border: 1px solid #d1d1d1;
    width: 113px;
    height: 42px;
    /* border-radius: 3px; */
    background-color: white;
    -webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);
    -moz-transition: left 0.15s ease-out;
    -ms-transition: left 0.15s ease-out;
    -o-transition: left 0.15s ease-out;
    transition: left 0.15s ease-out;
    -webkit-box-shadow: 2px 6px 18px 0px rgba(0, 0, 0, 0.31);
    -moz-box-shadow: 2px 6px 18px 0px rgba(0, 0, 0, 0.31);
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.31);
    border-radius: 25px;
  }

}
/*--------------------------*/

#switch-gender-2{
  .switch-2 {
    float: left;
    position: relative;
    height: 40px;
    width: 161px;
    background: #f6f6f6;
    border-radius: 3px;
    border: 2px solid #d1d1d1;
    .switch-label-2{
      .fa {
        font-size: 20px;
        margin-top: 7px;
      }&.male {
         float: left;
       }
      &.female {
        float: right;
      }
      &.male .fa {
        float: left;
        margin-left: 12px;
        color: #333333;
      }
      &.female .fa {
        float: right;
        margin-right: 15px;
        color: #333333;
      }
      &.male label {
        left: 37px;
        top: -23px;
      }
      &.female label {
        right: 35px;
        top: 4px;
      }

    }

  }
  .switch-label-2 {
    position: relative;
    z-index: 2;
    float: left;
    width: 58px;
    line-height: 26px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.35);
    text-align: center;
    cursor: pointer;
    & label {
      display: none;
      font-size: 14px;
      position: relative;
    }
    &:active {
      font-weight: bold;
    }
  }

  .switch-label-off-2 {
    padding-left: 2px;
  }
  .switch-input-2 {
    display: none;
    &:checked + .switch-label-2 {
      font-weight: bold;
      color: rgba(0, 0, 0, 0.65);
      text-shadow: 0 1px rgba(255, 255, 255, 0.25);
      -webkit-transition: 0.15s ease-out;
      -moz-transition: 0.15s ease-out;
      -ms-transition: 0.15s ease-out;
      -o-transition: 0.15s ease-out;
      transition: 0.15s ease-out;
      -webkit-transition-property: color, text-shadow;
      -moz-transition-property: color, text-shadow;
      -ms-transition-property: color, text-shadow;
      -o-transition-property: color, text-shadow;
      transition-property: color, text-shadow;
    }
    &:checked + .switch-label-2 label {
      display: block;
    }
    &:checked + .switch-label-on-2 ~ .switch-selection {
      left: 46px;
      /* Note: left: 50%; doesn't transition in WebKit */
    }
    &:checked + .switch-label-2.female .fa {
      position: relative;
      top: -30px;
    }
    &:checked + .switch-label-2 .fa {
      color: rgb(73, 200, 193);
    }
  }

  .switch-selection {
    position: absolute;
    z-index: 1;
    top: -4px;
    left: -3px;
    display: block;
    border: 1px solid #d1d1d1;
    width: 113px;
    height: 42px;
    /* border-radius: 3px; */
    background-color: white;
    -webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);
    -moz-transition: left 0.15s ease-out;
    -ms-transition: left 0.15s ease-out;
    -o-transition: left 0.15s ease-out;
    transition: left 0.15s ease-out;
    -webkit-box-shadow: 2px 6px 18px 0px rgba(0, 0, 0, 0.31);
    -moz-box-shadow: 2px 6px 18px 0px rgba(0, 0, 0, 0.31);
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.31);
    border-radius: 25px;
  }

}
皮埃尔·马莱

单选按钮为命名输入共享一个值。因此,当您的两个输入共享相同的名称(又名“视图”)时,它们共享相同的值。

输入名称应该有“view”和“view2”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在同一页面上创建2个btn-group?

来自分类Dev

如何在同一页面上区分具有相同ID(仅更改最后3位数字)的2个下拉菜单?

来自分类Dev

ASP.NET MVC路由:2个用于同一页面的路由,如何赋予相同的URL呈现?

来自分类Dev

如何使用JavaScript或JQuery在PHP + MySQL的同一页面上不点击提交按钮的情况下将2个文本框输入值结果输入到第三个文本框?

来自分类Dev

如何在同一页面的2个组件之间切换?

来自分类Dev

如何在同一页面中同步2个表单

来自分类Dev

如何在同一页面上使用具有不同CSS的具有相同功能的两个Toggle按钮?

来自分类Dev

Google AdWords转化跟踪-如何在同一页面上跟踪2种不同的onclick转化?

来自分类Dev

如何在同一页面上使用具有相同 ID 的多个(动态)切换按钮?

来自分类Dev

如何在同一页面上的多个按钮上打开一个Bootstrap模式?

来自分类Dev

单击Struts 2中同一页面上的两个按钮时,行为不同

来自分类Dev

如何在Django的同一页面上具有多个相同形式

来自分类Dev

如何在同一页面上两次使用相同的jquery脚本

来自分类Dev

如何为同一页面上的两个表单定义唯一的validateForm?

来自分类Dev

HighStocks-在同一页面上添加2个图表

来自分类Dev

同一页面上的两个Angular2组件

来自分类Dev

Bootstrap在同一页面上打开2个不同的模态对话框

来自分类Dev

同一页面上的2个Google图表出现渲染问题

来自分类Dev

同一页面上2个div之间的会话变量?

来自分类Dev

HighStocks-在同一页面上添加2个图表

来自分类Dev

同一页面上的2个Google图表出现渲染问题

来自分类Dev

当同一页面上的2个表单验证失败时,将出现渲染问题

来自分类Dev

Laravel,同一页面上的 2 个表单/URL 发布到各个路由

来自分类Dev

如何在 selenium Web 驱动程序的同一页面上单击多个按钮中的一个按钮?

来自分类Dev

如何在同一页面上呈现两个菜单?

来自分类Dev

如何在同一页面上放置两个幻灯片框?

来自分类Dev

web2py如何自定义网格“添加”,以便添加表单将显示在同一页面上

来自分类Dev

PHP-Facebook如何在同一页面上将facebook / message / username更改为facebook / message / username2?

来自分类Dev

如何在Angular2中检测到同一页面的路由?

Related 相关文章

  1. 1

    如何在同一页面上创建2个btn-group?

  2. 2

    如何在同一页面上区分具有相同ID(仅更改最后3位数字)的2个下拉菜单?

  3. 3

    ASP.NET MVC路由:2个用于同一页面的路由,如何赋予相同的URL呈现?

  4. 4

    如何使用JavaScript或JQuery在PHP + MySQL的同一页面上不点击提交按钮的情况下将2个文本框输入值结果输入到第三个文本框?

  5. 5

    如何在同一页面的2个组件之间切换?

  6. 6

    如何在同一页面中同步2个表单

  7. 7

    如何在同一页面上使用具有不同CSS的具有相同功能的两个Toggle按钮?

  8. 8

    Google AdWords转化跟踪-如何在同一页面上跟踪2种不同的onclick转化?

  9. 9

    如何在同一页面上使用具有相同 ID 的多个(动态)切换按钮?

  10. 10

    如何在同一页面上的多个按钮上打开一个Bootstrap模式?

  11. 11

    单击Struts 2中同一页面上的两个按钮时,行为不同

  12. 12

    如何在Django的同一页面上具有多个相同形式

  13. 13

    如何在同一页面上两次使用相同的jquery脚本

  14. 14

    如何为同一页面上的两个表单定义唯一的validateForm?

  15. 15

    HighStocks-在同一页面上添加2个图表

  16. 16

    同一页面上的两个Angular2组件

  17. 17

    Bootstrap在同一页面上打开2个不同的模态对话框

  18. 18

    同一页面上的2个Google图表出现渲染问题

  19. 19

    同一页面上2个div之间的会话变量?

  20. 20

    HighStocks-在同一页面上添加2个图表

  21. 21

    同一页面上的2个Google图表出现渲染问题

  22. 22

    当同一页面上的2个表单验证失败时,将出现渲染问题

  23. 23

    Laravel,同一页面上的 2 个表单/URL 发布到各个路由

  24. 24

    如何在 selenium Web 驱动程序的同一页面上单击多个按钮中的一个按钮?

  25. 25

    如何在同一页面上呈现两个菜单?

  26. 26

    如何在同一页面上放置两个幻灯片框?

  27. 27

    web2py如何自定义网格“添加”,以便添加表单将显示在同一页面上

  28. 28

    PHP-Facebook如何在同一页面上将facebook / message / username更改为facebook / message / username2?

  29. 29

    如何在Angular2中检测到同一页面的路由?

热门标签

归档