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


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 相关文章推荐
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
Jan 13 Javascript
jquery mobile事件多次绑定示例代码
Sep 13 Javascript
简单易用的倒计时js代码
Aug 04 Javascript
深入分析jsonp协议原理
Sep 26 Javascript
小巧强大的jquery layer弹窗弹层插件
Dec 06 Javascript
EasyUI学习之Combobox下拉列表(1)
Dec 29 Javascript
layui框架中layer父子页面交互的方法分析
Nov 15 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
Feb 06 Javascript
JS内部事件机制之单线程原理
Jul 02 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
基于vue实现web端超大数据量表格的卡顿解决
Apr 02 Javascript
React组件设计模式之组合组件应用实例分析
Apr 29 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通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
基于jquery自定义图片热区效果
2012/07/21 Javascript
使用upstart把nodejs应用封装为系统服务实例
2014/06/01 NodeJs
jquery获取select选中值的方法分析
2015/12/22 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
基于AGS JS开发自定义贴图图层
2017/03/31 Javascript
基于nodejs 的多页面爬虫实例代码
2017/05/31 NodeJs
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
python抓取最新博客内容并生成Rss
2015/05/17 Python
Python多线程结合队列下载百度音乐的方法
2015/07/27 Python
Python数据类型学习笔记
2016/01/13 Python
Python学习笔记之if语句的使用示例
2017/10/23 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
TensorFlow的权值更新方法
2018/06/14 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
Python解析多帧dicom数据详解
2020/01/13 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
《特殊的葬礼》教学反思
2014/04/27 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
2014年班干部工作总结
2014/11/25 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
企业安全生产检查制度
2015/08/06 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers