通过jq中的Ajax方法实现请求本地json数据并动态渲染加载列表,同时点击列表项,跳转到相对应的页面。
    list.gif

    A JSON数据

    1. {
    2. "books":[{
    3. "id":1,
    4. "imgUrl":"images/ly.jpg",
    5. "price":"45.00",
    6. "title":"论语",
    7. "publish":"人民文学出版社",
    8. "num":"303",
    9. "desc":"《论语》是儒家经典之一,是一部以记言为主的语录体散文集,主要以语录和对话文体的形式记录了孔子及其弟子的言行,集中体现了孔子的政治、审美、道德伦理和功利等价值思想。"
    10. },{
    11. "id":2,
    12. "imgUrl":"images/zy.jpg",
    13. "price":"30.00",
    14. "title":"中庸",
    15. "publish":"机械出版社",
    16. "num":"210",
    17. "desc":"《中庸》是中国古代论述人生修养境界的一部道德哲学专著,原属《礼记》第三十一篇,是儒家经典之一,相传为战国时期子思所作。"
    18. }]
    19. }

    B list列表页面

    1. $(function(){
    2. $.ajax({
    3. type:"get",
    4. url:"js/book.json",
    5. dataType: "json",
    6. success:function(res){
    7. var liTag = "";
    8. $.each(res.books,function(index,val){
    9. liTag += "<li class='list_item'><a href='details.html?booksId="+ val.id +"'><img src='"+ val.imgUrl +"'><p>"+ val.title +"</p><p class='price'>"+ val.price +"</p></a></li>"
    10. });
    11. $(".list").append(liTag);
    12. },
    13. error:function(){
    14. alert(error);
    15. }
    16. })
    17. })

    C details详情页面

    1. //获取参数值
    2. function getUrlParam(name) {
    3. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    4. var r = window.location.search.substr(1).match(reg); //匹配目标参数
    5. if (r != null) return unescape(r[2]);
    6. return null; //返回参数值
    7. }
    8. //接受url参数中的booksID
    9. var id = getUrlParam("booksId");
    10. $.ajax({
    11. type:"get",
    12. url:"js/book.json",
    13. dataType:'json',
    14. success:function(res,status){
    15. console.log(status);
    16. $.each(res.books,function(index,val){
    17. if(id == val.id){
    18. var str = "<img class='topPic' src='"+ val.imgUrl +"'><p class='num'>出版编号:"+ val.id +"</p><p class='cbs'>出版社:"+ val.publish +"</p><p class='page'>页数:"+ val.num +"</p><p class='desc'>简介:"+ val.desc +"</p>"
    19. }
    20. $('.container').append(str);
    21. })
    22. }
    23. })