点击radio切换页面内容(多个radio作tab栏)

2018-08-23  本文已影响0人  雅雅的前端工作学习

之前做过多个按钮点击切换tab栏,产品提交了要radio版本的(多个radio互斥),我以为会差不多,结果以前的代码拿过去一点用没有。
关键是radio不止有点击事件,还有checked属性,在考虑到点击事件的同时,也要考虑到checked选项的状态,不然函数是无效的!所以在点击事件的函数里,还要加上对不同情况的checked作出相应的操作:

function tabshift(a,b) {
        liobjs=document.getElementsByName(a);
        dvobjs=document.getElementsByName(b)
        for(var i=0;i<liobjs.length;i++){
            liobjs[i].setAttribute("index",i)
            liobjs[i].onclick=function () {
                var num=this.getAttribute("index");
                if(this.checked){//很重要
                    for(var p=0;p<dvobjs.length;p++){
                        dvobjs[p].classList.remove("show")
                    }
                    dvobjs[num].classList.add("show")
                }
            }
        }
    }
    tabshift("radio","dvname");
上一篇 下一篇

猜你喜欢

热点阅读