IE8中jQuery.load()加载页面不显示的原因


Posted in jQuery onNovember 15, 2018

一、jQuery.load()

  jQuery.load(url,[data],[callback])通过Ajax异步请求加载服务器中的数据,并把数据放到指定元素中。

•url :请求服务器的地址
•data :可选项,请求时发送的数据
•callback :可选项,请求成功后的回调函数

例:

$(".content").load(" https://www.imooc.com/data/fruit_part.html ")

二、IE8中使用jQuery.load()加载页面无法显示的原因

  首先,在IE8中,是可以使用jQuery.load()方法的(在兼容IE的jQuery版本下)

  原因:在被加载页面中存在没有成对闭合的html标签,如<div>

下面介绍下jquery中的load()方法使用要点

今天做在线聊天网页,聊天可以配图,需要使用弹出层的方式浏览大图效果。总共三层,底层html主结构,中间半透明遮罩,顶层是缩略图放大后的大图。用户点击缩略图后在半透明遮罩上呈现大图。

因为在线聊天,图片数量和地址都是动态未知的,因此用户点击缩略图时,应该在body下动态生成一个大图元素,并居中显示。代码如下:

$(".smallImg").click(function(){
       var imgPath = $(this).attr("src");
       var zh_bigImg = "<img alt='大图' class='zh_bigImg'/>"
       var maskBg = "<div class='maskDiv'></div>"
       $("body").append(zh_bigImg).append(maskBg);
       $(".zh_bigImg").attr("src",imgPath); //将获取的缩略图src值赋给新生成的大图
   //以下代码用于设置大图的居中显示,先设置大图的css为绝对定位,且top:50%;left:50%.
       var bigImgTop = -$(".zh_bigImg").height()/2;
       var bigImgLeft = -$(".zh_bigImg").width()/2;
       $(".zh_bigImg").css({
         "margin-top":bigImgTop,
         "margin-left":bigImgLeft
       });
       var zhBigImg = $(".zh_bigImg").get(0); //将jq对象转化为js对象
       zhBigImg.onclick=function(){
         $(".zh_bigImg,.maskDiv").fadeOut(function(){
          $(this).remove(); //淡出效果完成后再移除此元素!
         });
       }
     });

当刚刚将缩略图的src赋给大图时,就来获取大图高度值和宽度值,这样似乎不妥。结果却是这样,新生成的大图位置始终在top:50%;left:50%处,F12打开调试窗口发现margin-top,margin-left都为0,在各大浏览器或多或少都会存在一些问题,时而有效时而无效。后来才发现,忘了使用load()方法。应该让大图加载完毕后,再来获取高度和宽度值。

 改为这样:

$(".zh_bigImg").load(function(){
      var bigImgTop = -$(this).height()/2;
      var bigImgLeft = -$(this).width()/2;
      $(this).css({
        "margin-top":bigImgTop,
        "margin-left":bigImgLeft
      });
})

     后就正常了。

此外,jquery在处理页面动态创建的元素方面,好多地方都需要注意。它不会响应动态创建的元素的事件,只有用live()方法来绑定事件,才能解决问题(直接用原生的js不知道行不行)。比如点击大图,应该是清除这个元素。

$(".zhBigImg").click(function(){$(this).remove()}),点击大图时页面是不会有任何响应的。改为:$(".zhBigImg").live('click',function(){$(this).remove()})则可以。

总结

以上所述是小编给大家介绍的IE8中jQuery.load()加载页面不显示的原因,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
May 08 jQuery
jQuery+ajax实现局部刷新的两种方法
Jun 08 jQuery
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 jQuery
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
jQuery.Sumoselect插件实现下拉复选框效果
Nov 09 jQuery
jQuery 实现倒计时天,时,分,秒功能
Jul 31 jQuery
jQuery+CSS实现的标签页效果示例【测试可用】
Aug 14 jQuery
jQuery访问json文件中数据的方法示例
Jan 28 jQuery
jQuery内容选择器与表单选择器实例分析
Jun 28 jQuery
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 #jQuery
详解jQuery获取特殊属性的值以及设置内容
Nov 14 #jQuery
jQuery 操作 HTML 元素和属性的方法
Nov 12 #jQuery
用jQuery将JavaScript对象转换为querystring查询字符串的方法
Nov 12 #jQuery
Jquery和CSS实现选择框重置按钮功能
Nov 08 #jQuery
jQuery+PHP实现上传裁剪图片
Jun 29 #jQuery
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
Oct 26 #jQuery
You might like
PHP伪造referer实例代码
2008/09/20 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
xmlplus组件设计系列之树(Tree)(9)
2017/05/02 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
2018/08/06 Javascript
一步步教你利用Docker设置Node.js
2018/11/20 Javascript
nodejs中各种加密算法的实现详解
2019/07/11 NodeJs
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
python分割和拼接字符串
2013/11/01 Python
python模拟Django框架实例
2016/05/17 Python
Pandas的read_csv函数参数分析详解
2019/07/02 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
局部内部类是否可以访问非final变量?
2013/04/20 面试题
sort命令的作用和用法
2013/08/25 面试题
致跳远、跳高运动员广播稿
2014/01/09 职场文书
个人实习生的自我评价
2014/02/16 职场文书
社区助残日活动总结
2014/08/29 职场文书
2014年社区工作总结
2014/11/18 职场文书
JS + HTML 罗盘式时钟的实现
2021/05/21 Javascript
python库sklearn常用操作
2021/08/23 Python
Python代码实现双链表
2022/05/25 Python