動態生成li標簽,並設置點擊事件


今天要解釋的是如下界面

                                 

主要實現了:

1.模擬后台的json數據,動態生成li標簽

2.導航欄的下划線

3.給li標簽右邊設置圖片

4.動態生成的li標簽,設置選中的li的點擊事件,將右邊的圖片換掉

完整代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <!--<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">-->
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <title>頁面一</title>
    <script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>


    <style type="text/css">
        body{
            margin: 0;
            padding: 0;
            height: 100%;
            background: gainsboro;
        }
        .wrap{
            height: 100%;
        }

        #nav ul{
            margin: 10px;
        }
        #title{
            width: 100%;
            height: 100px;
            background-color: red;
        }

        #nav{
            width: 100%;
            height: 20%;
            background-color: white;
        }
        #nav li{
            display: inline-block;
            width:25%;
            height:20%;
            float: left;

        }
        #nav li a{
            color: #0f0f0f;
            text-align: center;
            font-size: 40px;
        }
        #nav ul li a:hover{
            color:red;
        }

        /*通過span設置下划線*/
        #nav ul li a:hover span{
            padding-bottom: 17px;
            border-bottom:  2px solid ;
        }

        .item{
            padding: 40px;
            margin-top: 40px;
            margin-right: 40px;
            margin-bottom: 40px;
            border-radius: 25px;
//給li標簽右邊設置圖片 background: red url('../2.png') no-repeat right center; } .i1{ padding: 40px; margin-top: 40px; margin-right: 40px; margin-bottom: 40px; border-radius: 25px; background: red url('../1.png') no-repeat right center; } </style> </head> <body> <div class="wrap"> <div id="title"> 我是標題 </div> <div id="nav"> <ul class="nav nav-bar"> <li><a href="#" onclick="show1()"><span>個人資料</span></a></li> <li><a href="#" onclick="show2()"><span>信息</span></a></li> <li><a href="#" onclick="show3()"><span>產品兌換</span></a></li> <li><a href="#" onclick="show4()"><span>兌換歷史</span></a></li> </ul> </div> <div id="content" style="font-size: 40px"> <ul id="list" style="list-style: none "> </ul> </div> </div> </body> <script> function show1() { //var obj = jQuery.parseJSON('{"name":"John","age":"20"}'); //第一種 //$("#list").html("<table><tr><td>" + obj.name + "</td><td>" + obj.age + "</td></tr></table>"); //第三種 // var data = [{"name":"張三", "age":"21"},{"name":"李四", "age":"21"},{"name":"王五", "age":"21"}]; // for(var i=0;i<data.length;i++){ // var a = "<li>姓名:" + data[i].name + ",年齡: "+ data[i].age +"</li>"; // $("#list").append(a); // } //第二種 $.ajax({ url: 'data1.json', //在后文后有元數據 type: 'GET', dataType: 'json', timeout: 1000, cache: false, beforeSend: LoadFunction, //加載執行方法 error: erryFunction, //錯誤執行方法 success: succFunction //成功執行方法 }) function LoadFunction() { $("#list").html('加載中...'); } function erryFunction() { alert("error"); } function succFunction(tt) { $("#list").html(''); // eval將字符串轉成對象數組 // var json = { "id": "10086", "uname": "zhangsan", "email": "zhangsan@qq.com" }; // json = eval(json); // alert("===json:id=" + json.id + ",uname=" + json.uname + ",email=" + json.email); var json = eval(tt); //json數組 var str=""; $.each(json, function (index) { //循環獲取數據 var id = json[index].id; var name = json[index].name; //$("#list").html($("#list").html() + "<br>" + id + " - " + name + "<br/>"); //alert(id); str += "<li class='item'>"+id+"<br>"+name+"</li>"; $("#list").html($("#list").html() + str); //我想其實應該是這樣的:當你點擊某一項的時候,會進入一個URL,來進行更改數據庫的操作。 //系統怎么識別出來你點擊的是哪一項? //jQuery中如何判斷當前點擊的是第幾個li,使用$(this).index()取得li的下標 }); $("#content #list .item").click(function () { alert($(this).index()); $(this).toggleClass("i1"); }); } }
//function show2() show3() show4()的實現和show1()原理是一樣的,這里就不再寫了。
</script> </html>

上邊所模擬的數據data1.json

   [
    {
      "id":"EWVEB1",
      "name":"車票從任何雲頂長途快車車站至纜車站"
    },
    {
      "id":"EWVEB2",
      "name":"車票從任何雲頂長途快車車站至纜車站"
    },
    {
      "id":"EWVEB3",
      "name":"車票從任何雲頂長途快車車站至纜車站"
    },
    {
      "id":"EWVEB4",
      "name":"車票從任何雲頂長途快車車站至纜車站"
    },
    {
      "id":"EWVEB5",
      "name":"車票從任何雲頂長途快車車站至纜車站"
    },
    {
      "id":"EWVEB6",
      "name":"車票從任何雲頂長途快車車站至纜車站"
    },
    {
      "id":"EWVEB7",
      "name":"車票從任何雲頂長途快車車站至纜車站"
    },
    {
      "id":"EWVEB8",
      "name":"車票從任何雲頂長途快車車站至纜車站"
    },
    {
      "id":"EWVEB9",
      "name":"車票從任何雲頂長途快車車站至纜車站"
    },
    {
      "id":"EWVEB10",
      "name":"車票從任何雲頂長途快車車站至纜車站"
    }
   ]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM