jQ實例篇--ajax請求json數據案例

今天有這樣一個需求,點擊六個大洲,出現對應的一些請求信息,展現在下面,請求請求事後,第二次點擊就無需請求。
如圖所示:點擊北美洲下面出現請求的一些數據javascript

圖片描述

html代碼結構:css

<div class="conSixmap">
    <div class="name conmap01" data-name="beimeizhou">
        <a href="javascript:void(0)">北美洲</a>
        <div class="condetail"></div>
    </div>
    <div class="name conmap02" data-name="nanmeizhou">
        <a href="javascript:void(0)">南美洲</a>
        <div class="condetail"></div>
    </div>
    <div class="name conmap03" data-name="ouzhou">
        <a href="javascript:void(0)">歐洲</a>
        <div class="condetail"></div>
    </div>
    <div class="name conmap04" data-name="feizhou">
        <a href="javascript:void(0)">非洲</a>
        <div class="condetail"></div>
    </div>
    <div class="name conmap05" data-name="yazhou">
        <a href="javascript:void(0)">亞洲</a>
        <div class="condetail"></div>
    </div>
    <div class="name conmap06" data-name="dayangzhou">
        <a href="javascript:void(0)">大洋洲</a>
        <div class="condetail"></div>
    </div>
</div>

css樣式:html

.conSixmap{position:relative;width:678px;height:335px;margin:0 auto;background:url(../images/tuanduimapBg.png) no-repeat;color:#000;font-family:"微軟雅黑"}
.conSixmap .name .condetail{display:none;position:absolute;z-index:10;width:216px;padding:10px;left:50%;margin-left:-118px;top:54px;background:url(../images/opcity83.png) repeat;border-radius:5px;}
.conSixmap .condetail span{display:block;color:#fff;font-size:14px;text-align:left;}
.conSixmap .name{position:absolute;width:52px;height:55px;}
.conSixmap .name a{display:block;z-index:2;position:absolute;padding-top:35px;text-align:center;cursor:pointer;width:52px;height:20px;color:#000;font-size:12px;}
.conSixmap .conmap01{left:91px;top:73px;}
.conSixmap .conmap01 a{background:url(../images/beimeipicBg.png) no-repeat top center;}

.conSixmap .conmap02 {left:180px;top:213px;}
.conSixmap .conmap02 a{background:url(../images/nanmeimapbg.png) no-repeat top center;}

.conSixmap .conmap03 {left:339px;top:68px;}
.conSixmap .conmap03 a{background:url(../images/ouzhoumapBg.png) no-repeat top center;}

.conSixmap .conmap04{left:327px;top:158px;}
.conSixmap .conmap04 a{background:url(../images/feizhoumapbg.png) no-repeat top center;}

.conSixmap .conmap05 {left:480px;top:75px;}
.conSixmap .conmap05 a{background:url(../images/yazhoumapBg.png) no-repeat top center;}

.conSixmap .conmap06 {left:545px;top:220px;}
.conSixmap .conmap06 a{background:url(../images/dayangmapbg.png) no-repeat top center;}

json格式:java

{
    "beimeizhou": [
        "請求的json數據1",
        "請求的json數據2"
    ],
    "nanmeizhou": [
        "請求的json數據3",
        "請求的json數據4"
    ],
    "ouzhou": [
        "請求的json數據5",
        "請求的json數據6",
        "請求的json數據7",
        "請求的json數據8"
    ],
    "feizhou": [
        "請求的json數據9",
        "請求的json數據10",
        "請求的json數據11",
        "請求的json數據12"
    ],
    "yazhou": [
        "請求的json數據13",
        "請求的json數據14"
    ],
    "dayangzhou": [
        "請求的json數據15",
        "請求的json數據16"
    ]
}

js代碼:ajax

$(document).ready(function(){
    //添加地圖
    var stauteArr={
            'beimeizhou':'true',
            'nanmeizhou':'true',
            'ouzhou':'true',
            'feizhou':'true',
            'yazhou':'true',
            'dayangzhou':'true'
        };
    $(".conSixmap .name").on('click',function(){
        var _this=this;
        var htmlcon="";
        $(this).siblings(".name").children(".condetail").fadeOut(500);
        $(this).children(".condetail").fadeIn(500);
        var _name=$(this).attr('data-name');
          $.ajax({
            url:"js/schoolMap.json",
            type:'get',
            data:{},
            dataType:"json",
            success: function(data){
                
                for(var i in data){
                    if(_name==i && stauteArr[i]=='true'){
                        for(var j=0;j<data[i].length;j++){
                             htmlcon+="<span>"+data[i][j]+"</span>";
                        }
                        $(_this).children(".condetail").append(htmlcon);
                        stauteArr[i]='false';
                    }
                }
            },
            error: function(){
                alert('請求失敗,請檢查網絡');
            }
        });
 
    });
});

須要demo猛點該文字,百度雲盤下載json

若是您以爲本文對您的學習有所幫助,請多支持與鼓勵。網絡

相關文章
相關標籤/搜索