html中通过JS获取JSON数据并加载的方法


Posted in Javascript onNovember 30, 2017

在写内容逻辑重复性的页面时,用json数据可以显著提高编程效率,并且便于后期的数据维护。因此,在视频专题页面,需要展示多列视频数据,我选择了用json。

HTML如下(只展示重点部分,需要引用JQ)

<div class="container-fluid content ">
    <div class="container neirong">
      <div class="left fl">
        <div class="title">
          热门视频
        </div>
        <div class="medialist">
        </div>
      </div></div>
</div>

JS如下

<script>
    $(document).ready(function(){
      
      console.log(1111)
      
          $.getJSON('data.json',function(data){
            
            console.log(222)
            
            
            
          var mediahtml="";
          
          $.each(data,function(i,data) {
            
        
        
          mediahtml+='<div class="media">'+
          '<div class="media-left">'+
          '<a data-toggle="modal" data-target="#myModal">'+
          '<img class="media-object" src="'+data["imgsrc"]+
          '" alt="">'+
            '</a>'+'</div>'+
            '<div class="media-body">'+
            '<div class="title">'+
              '<span class="classify">'+
                data["classify"]+
              '</span>'+
              '<span class="titlename media-heading">'+
                data['titlename']+
              '</span>'+
            '</div>'+
            '<span class="time">'+
              '<span class="glyphicon glyphicon-time"></span> '+
              '<span>'+data['pubdate']+'</span>'+
            '<p>'+data["intro"]+'</p>'+
            '<div class="guest">'+
              '<span class="jia">嘉</span>'+
              '<span class="name">'+data["name"]+'</span>'+
              '<span class="position">'+data["position"]+'</span>'+
              '<span class="glyphicon glyphicon-eye-open"></span>'+
              '<span class="click-rite"></span>'+
            '</div>'+
          '</div>'+
            
          '<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">'+
            '<div class="modal-dialog" role="document">'+
              '<div class="modal-content">'+
                '<div class="modal-header">'+
                  '<button type="button" class="close" data-dismiss="modal" aria-label="Close">'+
                    '<span aria-hidden="true">×</span>'+
                  '</button>'+
                '</div>'+
                '<div class="modal-body"></div>'+
            '</div>'+
          '</div>'+
          '</div>'

            
            
            
//          var url_mobi=data.url_mobi;
//          var url_pc=data.url_pc;
//          if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry|WebOS|Symbian|Windows Phone|Phone)/i))) {
//              $('.modal-body').prepend(url_mobi);
//              }else{
//              $('.modal-body').prepend(url_pc);
//              }
//              
//              
              })
          
          $('.medialist').after(mediahtml);  
          
          
        })
          
          
        })
        


        $('#myModal').on('shown.bs.modal', function (e) {
          // 关键代码,如没将modal设置为 block,则$modala_dialog.height() 为零 
          $(this).css('display', 'block');
          var modalHeight = $(window).height() / 2 - $('#myModal .modal-dialog').height() / 2;
          $(this).find('.modal-dialog').css({
            'margin-top': modalHeight
          });
        });


        //点击预览图时判断
//        $('.modal').on('click', function () {
//          if ($('#myModal').css("display") == "none") {
//            $('.modal-body').children('iframe').attr('src', '');
//          } else {
//            $('.modal-body').children('iframe').attr('src',
//              'https://v.qq.com/iframe/player.html?vid=v0508nqkm75&tiny=0&auto=0');
//          }
//        })
    
  </script>

注释部分可不看,不影响内容。

首先要新建json文件,json文件需注意的问题是:json对数据格式有要求,不识别url中的各类符号,因此会提示错误,如果不修复,则会阻断JS进程,造成数据在页面不显示,这个问题我找了好久才发现,而且json问题在js中不会报错。解决办法是利用encode方法,格式化url,然后再添加进json即可,在html中应该还要用decode转回来。

第二个坑是插入html到某个标签中,有四个方法,用after就可以实现,不要用反了。

第三点是需要注意,不要在拼接字符串的时候忘掉加号,少一个就会出问题,一个小问题会找好久才发现,而且拼接错误JS不会报错,很难发现。

以上就是获取JSON数据并加载的方法。

Javascript 相关文章推荐
才发现的超链接js导致网页中GIF动画停止的解决方法
Nov 02 Javascript
javascript 打开页面window.location和window.open的区别
Mar 17 Javascript
JQuery1.6 使用方法三
Nov 23 Javascript
ie支持function.bind()方法实现代码
Dec 27 Javascript
javascript实现左右控制无缝滚动
Dec 31 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
Jan 12 Javascript
原生js和jquery分别实现横向导航菜单效果
May 13 Javascript
浅谈基于Vue.js的移动组件库cube-ui
Dec 20 Javascript
.vue文件 加scoped 样式不起作用的解决方法
May 28 Javascript
vue左侧菜单,树形图递归实现代码
Aug 24 Javascript
layui的select联动实现代码
Sep 28 Javascript
vue使用节流函数的踩坑实例指南
May 20 Vue.js
微信小程序中吸底按钮适配iPhone X方案
Nov 29 #Javascript
jQuery zTree 异步加载添加子节点重复问题
Nov 29 #jQuery
写给小白看的JavaScript异步
Nov 29 #Javascript
3种vue组件的书写形式
Nov 29 #Javascript
easyui下拉框动态级联加载的示例代码
Nov 29 #Javascript
纯js实现隔行变色效果
Nov 29 #Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
Nov 29 #Javascript
You might like
怎样才能成为PHP高手?学会“懒惰”的编程
2006/12/05 PHP
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
在Django框架中运行Python应用全攻略
2015/07/17 Python
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
利用python在大量数据文件下删除某一行的例子
2019/08/21 Python
python excel转换csv代码实例
2019/08/26 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
Python实现非正太分布的异常值检测方式
2019/12/09 Python
解析python 类方法、对象方法、静态方法
2020/08/15 Python
python3跳出一个循环的实例操作
2020/08/18 Python
简单了解Python字典copy与赋值的区别
2020/09/16 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
教师简历自我评价
2014/02/03 职场文书
动漫专业高职生职业生涯规划书
2014/02/15 职场文书
职业女性的职业规划
2014/03/04 职场文书
公司晚会主持词
2014/03/22 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
图解上海144收音机
2021/04/22 无线电
Log4j.properties配置及其使用
2021/08/02 Java/Android
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
2022/04/12 MySQL