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


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 相关文章推荐
jquery的each方法使用示例分享
Mar 25 Javascript
jQuery选择器源码解读(三):tokenize方法
Mar 31 Javascript
深入学习jQuery Validate表单验证(二)
Jan 18 Javascript
js中Number数字数值运算后值不对的解决方法
Feb 28 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 jQuery
jQuery实现简单的滑动导航代码(移动端)
May 22 jQuery
基于vue2实现上拉加载功能
Nov 28 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
Mar 21 Javascript
js尾调用优化的实现
May 23 Javascript
Vue 封装防刷新考试倒计时组件的实现
Jun 05 Javascript
vue 解决addRoutes多次添加路由重复的操作
Aug 04 Javascript
JavaScript实现HTML导航栏下拉菜单
Nov 25 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获取网站域名和地址的代码
2008/08/17 PHP
PHP中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
php中__toString()方法用法示例
2016/12/07 PHP
Laravel实现autoload方法详解
2017/05/07 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
JQuery动态给table添加、删除行 改进版
2011/01/19 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
2019/11/04 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
2020/05/01 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python修改列表值问题解决方案
2020/03/06 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
Python图像识别+KNN求解数独的实现
2020/11/13 Python
美国摄影爱好者购物网站:Focus Camera
2016/10/21 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
车间班组长的职责
2013/12/13 职场文书
商务邀请函范文
2014/01/14 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
护理专业毕业生自荐信
2014/06/15 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
PyTorch的Debug指南
2021/05/07 Python