js实现简单的Tap

<style type="text/css">
        #bodyDiv
        {
            border:1px solid #0094ff;
            margin:50px auto;
            width:460px;
            height:300px;
            background-color:#0094ff;
        }
        ul
        {
            width:460px;
            border:1px solid #0094ff;
            padding:0px;
            margin:5px auto 0px auto;
            list-style-type:none;
            text-align:center;
        }
        li
        {
            border:1px solid #fff;
            margin:0px 0px;
            background-color:#0094ff;
            color:#fff;
            display:inline-block;/*相当于浮动*/
            padding:0px;
            cursor:pointer;
            line-height:30px;
            width:50px;
            height:30px;
        }
        #contentDiv
        {
            border:1px solid#fff;
            margin:0px 2px;
            background-color:#fff;
        }
        .clickLI
        {
            background-color:#ffffff;
            color:#000000;
            border-bottom:1px solid #fff;
            position:relative;
            top:1px;
        }
    </style>
    <script type="text/javascript">
        function gel(id) { return document.getElementById(id); }
        //添加新闻数组
        var arrNew = [{ "title": "体育", "content": "刘翔摔倒的" },
        { "title": "科普", "content": "我爱广州小蛮腰" },
        { "title": "军事", "content": "我爱北京天安门" },
        { "title": "科技", "content": "我爱广州天河城" },
        { "title": "社会", "content": "我爱广州小蛮腰12345" }];
        window.onload = function () {
            pangyu();
            gel("ulNews").firstElementChild.onclick();//指定第一个LI标签在页面加载完成后出现
        }
        //初始化数组将数组绑定到li中
        function pangyu() {
            var textul = gel("ulNews");//获取ul标签的节点
            for (var i = 0; i < arrNew.length; i++) { //遍历数组
                var textli = document.createElement("li"); //自定义创建Li标签
                textli.setAttribute("index", i); //为这个li标签设置自定义属性
                textli.innerHTML = arrNew[i].title;//把从数组中获取到的标题名称赋给li标签里面
                textul.appendChild(textli);//把li标签添加ul节点中
                textli.onclick = lionclick;//为每个Li标签设置点击事件
            }
        }
        function lionclick() {//当用户点击某个LI标签的时候 触发该事件
            var ulsli = gel("ulNews").children;//获取这个ul标签里面的每个节点文本内容 并且过滤掉li标签的元素
            for (var i = 0; i < ulsli.length; i++) {//遍历这个ul标签的子节点
                ulsli[i].className = "";//为遍历到每个li标签添加名字
            }
            this.className = "clickLI";//根据触发的这个li标签name属性 找该样式
            var index = this.getAttribute("index");//获取这个li标签的自定义属性
            gel("contentDiv").innerHTML = arrNew[index].content;//根据这个自定义属性在数组中找到内容然后付给这个div中
        }
    </script>
</head>
<body>
    <div id="bodyDiv">
        <ul id="ulNews">
        </ul>
        <div id="contentDiv"></div>
    </div>
</body>

posted @ 2013-01-20 14:20  逊老头  阅读(410)  评论(0编辑  收藏  举报