標簽頁的切換方式 1、控制tab的顯示與隱藏 2、tab不切換,數據載入 控制tab的顯示與隱藏 前端腳本: 1、jquery實現: 引入jquery文件,代碼簡潔 jquery文件較大,瀏覽器不相容 2、js 實現 無需引入jquery文件代碼量大,需每個標簽添加函數及ID 3、插件實現 無需引入 ...
標簽頁的切換方式
1、控制tab的顯示與隱藏
2、tab不切換,數據載入
控制tab的顯示與隱藏
前端腳本:
1、jquery實現:
$(function(){ $(".sdkj-tabs li").click(function() { $(this).addClass("on").siblings().removeClass("on"); var index=$(".sdkj-tabs li").index(this); $(".cont-tabs>div").eq(index).show().siblings().hide(); }); });
引入jquery文件,代碼簡潔
jquery文件較大,瀏覽器不相容
2、js 實現
function selectTab(showContent,selfObj){ var tab = document.getElementById("sdkj-tabs").getElementsByTagName("li"); var tablength = tab.length; for(i=0; i<tablength; i++){ tab[i].className = ""; } selfObj.className = "on"; // 標簽頁切換 for(i=0; j=document.getElementById("cont-tab"+i); i++){ j.style.display = "none"; } document.getElementById(showContent).style.display = "block"; }
無需引入jquery文件
代碼量大,需每個標簽添加函數及ID
3、插件實現
var tabs=function(){ function tag(name,elem){ return (elem||document).getElementsByTagName(name); } //獲得相應ID的元素 function id(name){ return document.getElementById(name); } function first(elem){ elem=elem.firstChild; return elem&&elem.nodeType==1? elem:next(elem); } function next(elem){ elem=elem.nextSibling; while(elem){ if(elem.nodeType==1){ return elem; } else{ elem=elem.nextSibling; } } } function child(elem){ var arrays = new Array(); var array_int=0; var elem_child=first(elem); for(array_int=0;elem_child;array_int++){ //console.log("elem:"+elem); arrays[array_int]=elem_child; elem_child=next(elem_child); } return arrays; } return { set:function(elemId,tabId){ var elem=tag("li",id(elemId)); var tabs=child(id(tabId)); var listNum=elem.length; var tabNum=tabs.length; console.log(tabs); for(var i=0;i<listNum;i++){ elem[i].onclick=(function(i){ return function(){ for(var j=0;j<3;j++){ if(i==j){ tabs[j].style.display="block"; elem[j].className="on"; } else{ tabs[j].style.display="none"; elem[j].className=" "; } } } })(i) } } } }(); tabs.set("sdkj-tabs","cont-tabs");//執行
無需引入jquery文件,只需添加父元素ID
適用才是真理。