js和jquery实现简单的选项卡

 选项卡切换在做网页的时候经常会用到,以往都是用JQ来实现,代码简单易懂,今天用原生的js实现了一下,二者还是有很大不同的,可以对比一下代码来研究一下。
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="js/jquery.js"></script>
    <style>
     body{margin: 20px;padding: 0;}
     ul{list-style: none; margin: 0;padding: 0; height: auto; overflow: hidden;}
     li{float: left; border: 1px solid #333333; padding: 5px; margin-right: 5px; }
     .li_hover{background: #C87800;}
     .div_list{border: 1px solid #333; display: none; height: 300px; margin-top: 10px; background: #C87800; width: 300px;}
    </style>
    <script>   /*js方法*/
    window.onload=function(){
        var li=document.getElementsByTagName("li");//获取li的集合
        var divlist=document.getElementsByClassName("div_list");//获取div_list 集合
        for(var i=0;i<li.length;i++){//循环
            li[i].index=i;//给li添加索引值
            li[i].onclick=function(){//li点击事件
                 for(var j=0;j<li.length;j++){//第二层for循环  初始化li 和div的值
                     li[j].className="";
                     divlist[j].style.display="none";
                 }
                this.className="li_hover";//给点击的li添加背景色
                divlist[this.index].style.display="block";//通过this.index显示对应的div
            }
        }
    }    /*JQ方法*/
    /*
         $(function(){
             $("ul li").click(function(){
                 var li_index=$(this).index();//获取点击的li的索引
                 $("ul li").removeClass("li_hover");//清空所有li的样式
                 $(this).addClass("li_hover");//给当前点击的li添加背景样式
                 $(".div_list").css("display","none");//隐藏所有的 div
                 $(".div_list").eq(li_index).css("display","block");//显示对应索引的div
             })
         })*/

    </script>
</head>
<body>
<ul>
 <li class="li_hover">aaaa</li>
 <li>bbbb</li>
 <li>cccc</li>
</ul>
<div>
    <div class="div_list" style="display: block;">aaaaaaaaaaaaa</div>
    <div class="div_list">bbbbbbbbbbbbb</div>
    <div class="div_list">ccccccccccccc</div>
</div>
</body>
</html>
时间: 2024-11-05 05:01:18

js和jquery实现简单的选项卡的相关文章

jquery 实现简单tab选项卡效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf8" /> <tit

三行Jquery代码实现简单的选项卡

今晚,我们来用实现一个简单的选项卡切换代码,主要代码只有两行. 效果: 思路:通过切换JQuery控制div的显隐和样式的改变 其中那个一个div显示,其余全隐藏 实现: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{margin:0;p

tytabs.jquery.min.js实例,渐变的TAB选项卡特效

<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>唐山塑钢门窗</title><script type="text/javascript" src="/ajaxjs/jquery-1.6.2.min.js"><

jquery实现简单的tab选项卡

选项卡是大家平时在工作中经常用到的一个效果,下面我给大家一个比较简单的选项卡demo. html: <ul class="tab"> <li>11</li> <li class="cur">22</li> <li>33</li> </ul> <div>11</div> <div class="on">22</d

出位的template.js 基于jquery的模板渲染插件,简单、好用

找了好几款基于jquery的模板渲染插件,无一感觉很难用(教程较少.绑定不统一),也可能我智商问题,比如jquery template.js .jtemplate.js. 然后在github上找到这一款,和我在公司之前用的差不多(apicloud云端开发app,致敬[百小僧]大神封装的HUI,简化了在公司很多工作), 这款模板渲染和HUI的很相似,也比较简单  基于jquery的模板渲染插件. 附上github https://github.com/yanhaijing/template.js

ECSHOP中transport.js和jquery的冲突的简单解决办法

ECSHOP中transport.js和jquery的冲突的简单解决办法 一流资源网近日在ECSHOP网站加入了几个JS特效代码,在谷歌.火狐下正常,在各版本IE下都不常,左思不得其解. 最后才知道原来是"ECSHOP中transport.js和jquery的冲突" 因为通用头部文件中引用了 1 {insert_scripts files='transport.js,utils.js'} transport.js与jquery有冲突.原因不多讲.在网上找到一个最简单解决办法: 成功了,

JS去掉首尾空格 简单方法大全(原生正则jquery)

JS去掉首尾空格 简单方法大全 var osfipin= ' http://www.cnblogs.com/osfipin/ '; //去除首尾空格 osfipin.replace(/(^\s*)|(\s*$)/g, ""); //去除左边空格 osfipin.replace(/(^\s*)/g, ""); //去除右边空格 osfipin.replace(/(\s*$)/g, ""); //jquery 需提前引用jquery $.trim(o

简单的表单验证(js、jquery)

//javascript代码 function valForm(){ var username=document.getElementById("username"); var pwd=document.getElementById("pwd"); var repwd=document.getElementById("repwd"); var email=document.getElementById("email"); va

[JS][easyui]jQuery EasyUI Datagrid VirtualScrollView视图简单分析

 大家都知道EasyUI的Datagrid组件在加载大数据量时的优势并不是很明显,相对于其他一些框架,如果数据量达到几千,便会比较慢,特别是在IE下面.针对这种情况,我们首要做的是要相办法优化datagrid组件的各方面性能,不过任何事情都是可以变通解决的,virtualScrollView就是一种不错的解决方案. virtualScrollView的准则就是尽量少画tr到table里,表格的高度是有限的,而用户的可见区域是很有限的,所以数据量很大的时候,是没有必要将所有数据数据都画到表格中