最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)多選框的操作

 更新時(shí)間:2020年06月24日 11:29:18   作者:AndroidCQC  
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)多選框的操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JS實(shí)現(xiàn)多選框的具體代碼,供大家參考,具體內(nèi)容如下

多選時(shí):

全選時(shí):

反選時(shí):

html代碼

<div class="container">
 <h3>請(qǐng)選擇你最喜歡吃的水果(多選)</h3>
 <ul>
  <li><input type="checkbox">蘋果</li>
  <li><input type="checkbox">雪梨</li>
  <li><input type="checkbox">西瓜</li>
  <li><input type="checkbox">哈密瓜</li>
  <li><input type="checkbox">荔枝</li>
  <li><input type="checkbox">龍眼</li>
 </ul>
 <div class="checkinAll">
  <input type="checkbox" id="checkAll">全選/非全選
  <input type="checkbox" id="checkTurn">反選
 </div>
</div>

CSS代碼:

*{
  margin: 0;
  padding: 0;
}
.container{
  width: 300px;
  /* height: 500px; */
  /* border: 1px solid black; */
  margin: 10px auto;
}
.container ul{
  list-style: none;
  width: 100%;
  margin-top: 20px;
  border: 1px solid #666;
  border-radius: 10px;
  margin-bottom: 10px;
}
.container ul li{
  width: 100%;
  height: 70px;
  border-bottom: 1px solid #666;
  line-height: 70px;
  text-indent: 50px;
  font-size: 16px;
  font-weight: 600;
  
}
.container ul li:last-child{
  border-radius: 0 0 11px 11px;
  border: none;
}
.container ul li:first-child{
  border-radius: 11px 11px 0 0;
   /* border: none; */
 }
input[type='checkbox']{
  width: 20px;
  height: 20px;
  vertical-align: middle;
  cursor: pointer;
  -webkit-appearance: none;
  border: 1px solid #666;
  border-radius: 3px;
}
input[type='checkbox']:checked{
  background-image: url(./select.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  outline: none;
}
ul input{
  margin-right: 40px;
}

JS代碼:

(function(){
  const list_node = document.getElementsByTagName('li');
  const ul_node = document.getElementsByTagName('ul')[0]
  const colorArr = ['rgb(255,235,205)','rgb(255,240,245)','rgb(255,211,155)'];
  const check_nodes = ul_node.getElementsByTagName('input');
  const checkAll = document.getElementById('checkAll');
  const checkTurn = document.getElementById('checkTurn')
  for(let i = 0; i < list_node.length; i++){
    list_node[i].style.backgroundColor = colorArr[i % colorArr.length];
    list_node[i].addEventListener('click',clickFn);
  }
  function clickFn(e){
    console.log(e.target.tagName);
    let num = 0;
   if(e.target.tagName == 'INPUT' && e.target.checked == false){
     checkAll.checked = false;
   }else{
    for (let i = 0; i < check_nodes.length; i++) {
      if(check_nodes[i].checked == true){
        num++;
      }
      
    }
    if(num == check_nodes.length){
      checkAll.checked = true;
    }
   }
  }
  //全選/非全選
  checkAll.onclick = function(){
    if(this.checked == true){
      for (let i = 0; i < check_nodes.length; i++) {
        check_nodes[i].checked = true;
        
      }
    }else{
      for (let i = 0; i < check_nodes.length; i++) {
        check_nodes[i].checked = false;
        
      }
    }
  }
  //反選
  checkTurn.onclick = function(){
    let count = 0;
    let num = 0;
    for (let i = 0; i < check_nodes.length; i++) {
      if(check_nodes[i].checked == true){
      check_nodes[i].checked = false;
      count ++;
      }else{
      check_nodes[i].checked = true;
      num++;
      }
      
    }
    if(count == check_nodes.length){
      checkAll.checked = false;
    }else if(num == check_nodes.length){
      checkAll.checked = true;
    }
  }
})()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)點(diǎn)擊按鈕修改view標(biāo)簽背景顏色功能示例【附demo源碼下載】

    微信小程序?qū)崿F(xiàn)點(diǎn)擊按鈕修改view標(biāo)簽背景顏色功能示例【附demo源碼下載】

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)點(diǎn)擊按鈕修改view標(biāo)簽背景顏色功能,涉及微信小程序事件響應(yīng)及數(shù)值運(yùn)算實(shí)現(xiàn)動(dòng)態(tài)設(shè)置view背景色樣式的相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • JS實(shí)現(xiàn)可直接顯示網(wǎng)頁代碼運(yùn)行效果的HTML代碼預(yù)覽功能實(shí)例

    JS實(shí)現(xiàn)可直接顯示網(wǎng)頁代碼運(yùn)行效果的HTML代碼預(yù)覽功能實(shí)例

    這篇文章主要介紹了JS實(shí)現(xiàn)可直接顯示網(wǎng)頁代碼運(yùn)行效果的HTML代碼預(yù)覽功能,通過獲取文本框內(nèi)容并在新窗口打印輸出來實(shí)現(xiàn)直接運(yùn)行html代碼的功能,簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-08-08
  • JS中使用textPath實(shí)現(xiàn)線條上的文字

    JS中使用textPath實(shí)現(xiàn)線條上的文字

    最近項(xiàng)目經(jīng)理交給我一下新項(xiàng)目,要實(shí)現(xiàn)關(guān)系圖,需要在線條上繪制文字。下面小編把使用textPath實(shí)現(xiàn)線條上的文字功能分享到腳本之家平臺(tái)供大家參考
    2017-12-12
  • echarts中g(shù)rid圖表的位置配置詳解

    echarts中g(shù)rid圖表的位置配置詳解

    ECharts是一個(gè)純JavaScript圖表庫,底層依賴于輕量級(jí)的Canvas類庫ZRender,下面這篇文章主要給大家介紹了關(guān)于echarts中g(shù)rid圖表的位置配置的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • JavaScript利用正則表達(dá)式去除日期中的“-”

    JavaScript利用正則表達(dá)式去除日期中的“-”

    第一種,將日期字符串先截取,然后拼接;第二種,就是利用正則表達(dá)式去掉“-”本例選擇第二種,比較快捷不容易出錯(cuò)
    2014-07-07
  • js如何使用Pagination+PageHelper實(shí)現(xiàn)分頁

    js如何使用Pagination+PageHelper實(shí)現(xiàn)分頁

    本文主要介紹了js如何使用Pagination+PageHelper實(shí)現(xiàn)分頁,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • JavaScript實(shí)現(xiàn)的簡(jiǎn)單拖拽效果

    JavaScript實(shí)現(xiàn)的簡(jiǎn)單拖拽效果

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)的簡(jiǎn)單拖拽效果,涉及javascript針對(duì)鼠標(biāo)事件與頁面樣式的操作技巧,需要的朋友可以參考下
    2015-06-06
  • js時(shí)間控件只顯示年月

    js時(shí)間控件只顯示年月

    本文詳細(xì)介紹了js時(shí)間控件只顯示年月的方法。具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • 使用Nginx部署前端項(xiàng)目的詳細(xì)步驟記錄

    使用Nginx部署前端項(xiàng)目的詳細(xì)步驟記錄

    在實(shí)際開發(fā)中我們通常會(huì)使用Nginx來部署前端靜態(tài)頁面,以提供快速訪問速度和良好的用戶體驗(yàn),這篇文章主要給大家介紹了關(guān)于使用Nginx部署前端項(xiàng)目的詳細(xì)步驟,需要的朋友可以參考下
    2024-08-08
  • 利用fecha進(jìn)行JS日期處理

    利用fecha進(jìn)行JS日期處理

    這篇文章主要介紹的是如何利用fecha進(jìn)行JS日期處理,在日常項(xiàng)目中,經(jīng)常會(huì)碰到日期處理的需求,這種需求千奇百怪,而且往往經(jīng)常變化。雖然js提供了原生的Date方法供我們選擇,但一些復(fù)雜的日期時(shí)間處理起來往往力不從心。下面通過這篇文章來一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11

最新評(píng)論

千阳县| 绩溪县| 达拉特旗| 扶余县| 广丰县| 夹江县| 元阳县| 屯留县| 甘洛县| 丰县| 罗甸县| 镇赉县| 乌鲁木齐县| 彭泽县| 深水埗区| 沛县| 灵寿县| 鄂伦春自治旗| 静海县| 英超| 东至县| 石景山区| 海安县| 阿克陶县| 禹州市| 龙岩市| 锡林郭勒盟| 南安市| 温州市| 香港 | 潞西市| 正镶白旗| 永寿县| 钟祥市| 海城市| 宜兰县| 固始县| 东乡族自治县| 瑞安市| 泾川县| 南雄市|