全面解析标签页的切换方式


Posted in Javascript onAugust 21, 2016

标签页的切换方式如下所示:

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

以上所述是小编给大家介绍的全面解析标签页的切换方式的全部叙述,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
图片上传即时显示缩略图的js代码
May 27 Javascript
禁止你的左键复制实用技巧
Jan 04 Javascript
JavaScript中使用Math.PI圆周率属性的方法
Jun 14 Javascript
常用的JQuery函数及功能小结
Mar 24 Javascript
js实现带简单弹性运动的导航条
Feb 22 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
May 11 Javascript
加载 vue 远程代码的组件实例详解
Nov 20 Javascript
JS实现登录页密码的显示和隐藏功能
Dec 06 Javascript
webpack下实现动态引入文件方法
Feb 22 Javascript
Angular CLI在Angular项目中如何使用scss详解
Apr 10 Javascript
JavaScript怎样在删除前添加确认弹出框?
May 27 Javascript
vue webpack build资源相对路径的问题及解决方法
Jun 04 Javascript
JavaScript第一篇之实现按钮全选、功能
Aug 21 #Javascript
JS实现图片局部放大或缩小的方法
Aug 20 #Javascript
JS获取及验证开始结束日期的方法
Aug 20 #Javascript
jquery弹出框插件jquery.ui.dialog用法分析
Aug 20 #Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
Aug 20 #Javascript
JS关闭窗口时产生的事件及用法示例
Aug 20 #Javascript
JS实现漂亮的时间选择框效果
Aug 20 #Javascript
You might like
php跨域cookie共享使用方法
2014/02/20 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
2017/12/19 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
JavaScript 中判断变量是否为数字的示例代码
2020/10/22 Javascript
[02:08]DOTA2英雄基础教程 马格纳斯
2014/01/17 DOTA
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
Python迭代和迭代器详解
2016/11/10 Python
python实现画出e指数函数的图像
2019/11/21 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
幼儿教师国培感言
2014/02/19 职场文书
事务机电主管工作职责
2014/02/25 职场文书
乔迁之喜主持词
2014/03/27 职场文书
2014年后勤工作总结
2014/11/18 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
元旦晚会开场白
2015/05/29 职场文书
学校团代会开幕词
2016/03/04 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL