js實(shí)現(xiàn)動(dòng)態(tài)改變r(jià)adio狀態(tài)的方法
h5的radio是自帶選中狀態(tài)改變的,但是如果自帶的狀態(tài)無(wú)法滿足自己的需求時(shí),就需要自己去實(shí)現(xiàn)。
代碼如下:
h5部分代碼
<p class="group"> <label class="active"> <input type="radio" name="parent_radio" value="1" id="new_data" onclick="change()"/> 最新資料</label> <label> <input type="radio" name="parent_radio" value="0" id="my_data" onclick="change()"/> 我的資料</label> <label> <input name="parent_radio" type="radio" id="screen_data" value="0" onclick="change()"/> 分類瀏覽</label> <label> <input type="radio" name="parent_radio" value="0" id="history_data" onclick="change()"/> 瀏覽歷史</label> </p>
CSS代碼
<style> input[type="radio"] { /*取消自帶按鈕*/ color:gray; display: none; } .group>label:hover{ /*鼠標(biāo)移到控件上做的改變*/ background-color: cornflowerblue; } .group>label{ /*未選中狀態(tài)*/ float: left; color: #4A4A4A; font-size: 16px; padding: 10px 11px; } .group>label.active{ /*選中狀態(tài)*/ color: #316CEB; font-size: 16px; border-top: 2px solid #316CEB; padding: 10px 11px; } </style>
JS方法代碼
<script type = "text/javascript"> function change() { var radio = document.getElementsByName("parent_radio"); /*用ByName是為了取到所有的radio*/ var radioLength = radio.length; for(var i = 0;i < radioLength;i++) { if(radio[i].checked) { radio[i].parentNode.setAttribute('class', 'active'); }else { radio[i].parentNode.setAttribute('class', ''); } } } </script>
效果如下
這里實(shí)現(xiàn)的是頂部boder的動(dòng)態(tài)顯示隱藏并且這里radio左側(cè)默認(rèn)的圓形按鈕設(shè)為了隱藏。如果想要按鈕不隱藏,需要作如下修改
<p class="group"> <label class="active"><img src="images/delate_choose.png" name="image"> <input type="radio" name="parent_radio" value="1" id="new_data" onclick="change()"/> 最新資料</label> <label> <img src="images/delate_no_choose.png" name="image"> <input type="radio" name="parent_radio" value="0" id="my_data" onclick="change()"/> 我的資料</label> <label> <img src="images/delate_no_choose.png" name="image"> <input name="parent_radio" type="radio" id="screen_data" value="0" onclick="change()"/> 分類瀏覽</label> <label> <img src="images/delate_no_choose.png" name="image"> <input type="radio" name="parent_radio" value="0" id="history_data" onclick="change()"/> 瀏覽歷史</label> </p>
即在每一個(gè)raido類型的input前面加一個(gè)img(注意選中和未選中的區(qū)別),JS的change方法做以下修改
var radio = document.getElementsByName("parent_radio"); var img = document.getElementsByName("image"); /*用ByName是為了取到所有的radio*/ var radioLength = radio.length; for(var i = 0;i < radioLength;i++) { if(radio[i].checked) { img[i].src = "images/delate_choose.png"; radio[i].parentNode.setAttribute('class', 'active'); }else { img[i].src = "images/delate_no_choose.png"; radio[i].parentNode.setAttribute('class', ''); } }
img的length肯定和radio的length一樣,所以可以只取一個(gè)length。
效果如下:
由于自己剛學(xué)的h5,很多東西不熟練,不敢說(shuō)自己的方法就是正確方法,只是為了記錄學(xué)習(xí)過(guò)程,所以把學(xué)到的一些東西寫在這里,望大家不吝賜教。
這篇js實(shí)現(xiàn)動(dòng)態(tài)改變r(jià)adio狀態(tài)的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- JS實(shí)現(xiàn)點(diǎn)擊Radio動(dòng)態(tài)更新table數(shù)據(jù)
- js實(shí)現(xiàn)的簡(jiǎn)單radio背景顏色選擇器代碼
- js實(shí)現(xiàn)表單Radio切換效果的方法
- js獲取RadioButtonList的Value/Text及選中值等信息實(shí)現(xiàn)代碼
- JS實(shí)現(xiàn)的radio圖片選擇按鈕效果
- 純JS打造網(wǎng)頁(yè)中checkbox和radio的美化效果
- javascript radio 聯(lián)動(dòng)效果
- js獲取 type=radio 值的方法
- 利用JavaScript更改input中radio和checkbox樣式
- 原生javascript自定義input[type=radio]效果示例
相關(guān)文章
使用JS批量選中功能實(shí)現(xiàn)更改數(shù)據(jù)庫(kù)中的status狀態(tài)值(批量展示)
我們?cè)陂_發(fā)項(xiàng)目的時(shí)候經(jīng)常會(huì)在后臺(tái)管理時(shí)用到批量展示功能來(lái)動(dòng)態(tài)的修改數(shù)據(jù)庫(kù)的值。下面以修改數(shù)據(jù)庫(kù)的status狀態(tài)值來(lái)實(shí)現(xiàn)批量展示功能2016-11-11javascript之可拖動(dòng)的iframe效果代碼
用javascript實(shí)現(xiàn)可拖動(dòng)的iframe頁(yè)面效果的js2008-08-08JS復(fù)制內(nèi)容到剪切板的實(shí)例代碼(兼容IE與火狐)
這篇文章主要介紹了JS復(fù)制內(nèi)容到剪切板的實(shí)例代碼(兼容IE與火狐)。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-11-11JS實(shí)現(xiàn)彩色圖片轉(zhuǎn)換為黑白圖片的3種方法
本文主要介紹了JS實(shí)現(xiàn)彩色圖片轉(zhuǎn)換為黑白圖片的3種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09微信小程序web-view無(wú)法打開該頁(yè)面不支持打開的解決方法
小程序現(xiàn)在日漸成熟,功能也越來(lái)越強(qiáng)大,我們今天來(lái)一起看看小程序跳轉(zhuǎn)的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于微信小程序web-view無(wú)法打開該頁(yè)面不支持打開的解決方法,需要的朋友可以參考下2023-01-01頁(yè)面下沉抖動(dòng)效果-網(wǎng)站HTTP連接沒有效果-PC上有效果
頁(yè)面下沉抖動(dòng)效果實(shí)現(xiàn)代碼,代碼少,功能還可以2008-05-05