繁体   English   中英

按钮仅在双击后切换

[英]Button toggles only after double click

下面是使用网页开启/关闭 led的脚本。 此脚本链接到实际控制led的python。 一切正常但问题是按钮切换到右侧,即双击后的ON位置。

  1. 首次单击时,复选框被选中,LED亮起,但滑动不会向右移动。
  2. 第二次单击时,幻灯片向右移动。

    而单击时按钮切换到左侧(没有问题)。 有人可以帮忙吗?

// HTML:

<!DOCTYPE html>
<html>
    <head>
        <title>{{ title }}</title>
        <script src="https://code.jquery.com/jquery-3.1.0.js"></script>

// JavaScript:

<script>
   $(document).ready(function(){
   $("#test").click(function(){
   if ($(this).is(":checked"))
   {
      $('#On').get(0).click();
   }
   else
   {
      $('#Off').get(0).click();
    }
  });
});
</script>

// CSS:

<style>
.onoffswitch {
    position: relative; width: 90px;
    -webkit-user-select:none; -moz-user-select:none; -ms-user-select:   none;
}
.onoffswitch-checkbox {
    display: none;
}
.onoffswitch-label {
    display: block; overflow: hidden; cursor: pointer;
    border: 2px solid #999999; border-radius: 20px;
}
.onoffswitch-inner {
    display: block; width: 200%; margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
}
.onoffswitch-inner:before, .onoffswitch-inner:after {
    display: block; float: left; width: 50%; height: 30px; padding: 0;    line-height: 30px;
    font-size: 14px; color: white; font-family: Trebuchet, Arial,    sans-serif; font-weight: bold;
    box-sizing: border-box;
}
.onoffswitch-inner:before {
    content: "ON";
    padding-left: 10px;
    background-color: #34A7C1; color: #FFFFFF;
}
.onoffswitch-inner:after {
    content: "OFF";
    padding-right: 10px;
    background-color: #EEEEEE; color: #999999;
    text-align: right;
}
.onoffswitch-switch {
    display: block; width: 18px; margin: 6px;
    background: #FFFFFF;
    position: absolute; top: 0; bottom: 0;
    right: 56px;
    border: 2px solid #999999; border-radius: 20px;
    transition: all 0.3s ease-in 0s; 
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
    margin-left: 0;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
    right: 0px; 
}
</style>
</head>

// HTML:

<body>
  <div class="onoffswitch"> 
    <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="test"> 
    <label class="onoffswitch-label" for="test"> 
    <span class="onoffswitch-inner"></span>
    <span class="onoffswitch-switch"></span> 
    </label> 
  </div>
  <h1>
      <a href="/On#On" id="On"></a>
  </h1>
  <h1>
      <a href="/Off#Off" id="Off"></a>
  </h1>

</body> 
</html>

$('#On').click(); $('#Off').click(); 不需要get(0)

 $(document).ready(function() { $("#test").click(function() { if ($(this).is(":checked")) { $('#On').click(); } if (!$(this).is(":checked")) { $('#Off').click(); } }); $('#On').click(function(){ console.log('id On clicked') }); $('#Off').click(function(){ console.log('id Off clicked') }); }); 
 .onoffswitch { position: relative; width: 90px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; } .onoffswitch-checkbox { display: none; } .onoffswitch-label { display: block; overflow: hidden; cursor: pointer; border: 2px solid #999999; border-radius: 20px; } .onoffswitch-inner { display: block; width: 200%; margin-left: -100%; transition: margin 0.3s ease-in 0s; } .onoffswitch-inner:before, .onoffswitch-inner:after { display: block; float: left; width: 50%; height: 30px; padding: 0; line-height: 30px; font-size: 14px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold; box-sizing: border-box; } .onoffswitch-inner:before { content: "ON"; padding-left: 10px; background-color: #34A7C1; color: #FFFFFF; } .onoffswitch-inner:after { content: "OFF"; padding-right: 10px; background-color: #EEEEEE; color: #999999; text-align: right; } .onoffswitch-switch { display: block; width: 18px; margin: 6px; background: #FFFFFF; position: absolute; top: 0; bottom: 0; right: 56px; border: 2px solid #999999; border-radius: 20px; transition: all 0.3s ease-in 0s; } .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner { margin-left: 0; } .onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch { right: 0px; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <body> <div class="onoffswitch"> <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="test"> <label class="onoffswitch-label" for="test"> <span class="onoffswitch-inner"></span> <span class="onoffswitch-switch"></span> </label> </div> <h1> <a href="/On#On" id="On"></a> </h1> <h1> <a href="/Off#Off" id="Off"></a> </h1> </body> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM