博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript之tab面板切换
阅读量:6292 次
发布时间:2019-06-22

本文共 3278 字,大约阅读时间需要 10 分钟。

自己写了一个tab选项卡的切换,感觉还不错,跟大家分享一下。

一、点击切换

页面效果:

html页面:

            
tab面板切换
  • js:

    var ChangeNode=function(b_img_src,g_img_src,target,banner_t)            {                this.blue_img_src=b_img_src;//点亮的图片                this.gray_img_scr=g_img_src;//未点亮的灰色图片                this.img_li=target;//包含img标签的li容器                this.banner_tartet=banner_t;//banner面板                                }            /*             @news:新的ChangeNode对象             @old:与news相对             * */            function changeImg(news,old)            {                if(old!=null)                {                      old.img_li.querySelector("img").src=old.gray_img_scr;                       old.banner_tartet.className="banner";                }                news.img_li.querySelector("img").src=news.blue_img_src;                news.banner_tartet.className="banner on";            }            (function(){                            if(document.getElementById){                    if(!document.getElementById("sel_ul")){                        return false;                    }                }                var sel_ul=document.getElementById("sel_ul"),                    sel_li=sel_ul.querySelectorAll("li"),                    li_len=sel_li.length || sel_ul.childNodes.length,//获取子元素的长度                    banner_list=document.querySelectorAll(".banner");                                var changeImgFooPool=new Array();                changeImgFooPool[0]=new ChangeNode("img/shap_1_sel.png","img/shap_1.png",sel_li[0],banner_list[0]);                changeImgFooPool[1]=new ChangeNode("img/shap_3_sel.png","img/shap_3.png",sel_li[1],banner_list[1]);                changeImgFooPool[2]=new ChangeNode("img/shap_4_sel.png","img/shap_4.png",sel_li[2],banner_list[2]);                                var index=-1;                for(var i=0;i

     二、鼠标滑过切换

    页面预览:

    页面代码:

                
    tab滑过切换

    呵呵而后 娱乐

     

    因为js没有像jQuery有addClass,removeClass之类的方法,我在网上看到用js实现这方面的方法,记录一下,方便以后使用。

    function addClass(obj, cls) {      if (!this.hasClass(obj, cls)) {           obj.className += " " + cls;     }}function hasClass(obj, cls) {           return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));}function removeClass(obj, cls) {        if (hasClass(obj, cls)) {          var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');          obj.className = obj.className.replace(reg, ' ');       }}

     

    转载于:https://www.cnblogs.com/U-can/p/4696931.html

    你可能感兴趣的文章
    程序员修炼之道读后感2
    查看>>
    DWR实现服务器向客户端推送消息
    查看>>
    js中forEach的用法
    查看>>
    Docker之功能汇总
    查看>>
    !!a标签和button按钮只允许点击一次,防止重复提交
    查看>>
    (轉貼) Eclipse + CDT + MinGW 安裝方法 (C/C++) (gcc) (g++) (OS) (Windows)
    查看>>
    还原数据库
    查看>>
    作业调度框架 Quartz.NET 2.0 beta 发布
    查看>>
    mysql性能的检查和调优方法
    查看>>
    项目管理中的导向性
    查看>>
    Android WebView 学习
    查看>>
    (转)从给定的文本中,查找其中最长的重复子字符串的问题
    查看>>
    HDU 2159
    查看>>
    spring batch中用到的表
    查看>>
    资源文件夹res/raw和assets的使用
    查看>>
    UINode扩展
    查看>>
    LINUX常用命令
    查看>>
    百度云盘demo
    查看>>
    概率论与数理统计习题
    查看>>
    初学structs2,简单配置
    查看>>