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


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 相关文章推荐
prototype 的说明 js类
Sep 07 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
Nov 12 Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
Jun 17 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
Dec 25 Javascript
javascript 中事件冒泡和事件捕获机制的详解
Sep 01 Javascript
Vue 重置组件到初始状态的方法示例
Oct 10 Javascript
详解webpack打包第三方类库的正确姿势
Oct 20 Javascript
JS实现电话号码的字母组合算法示例
Feb 26 Javascript
vue中axios请求的封装实例代码
Mar 23 Javascript
js实现拾色器插件(ColorPicker)
May 21 Javascript
JavaScript实现网页tab栏效果制作
Nov 20 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
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
浅谈php中include文件变量作用域
2015/06/18 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
2015/11/15 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
微信小程序与公众号卡券/会员打通的问题
2019/07/25 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
Python中函数参数调用方式分析
2018/08/09 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
python画柱状图--不同颜色并显示数值的方法
2018/12/13 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
婚前协议书怎么写
2014/04/15 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
人事文员岗位职责
2015/02/04 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
谢师宴家长致辞
2015/07/27 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang