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使用JSONP实现跨域获取数据的三种方法详解
May 04 jQuery
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
jQuery+Ajax实现用户名重名实时检测
Jun 01 jQuery
jquery实现左右轮播图效果
Sep 28 jQuery
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
jQuery插件Validation表单验证详解
May 26 jQuery
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
Jun 14 jQuery
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 jQuery
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 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
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
Oracle Faq(Oracle的版本)
2006/10/09 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
layui自定义工具栏的方法
2019/09/19 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
简单解析Django框架中的表单验证
2015/07/17 Python
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
python 实现A*算法的示例代码
2018/08/13 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
Python os模块常用方法和属性总结
2020/02/20 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
软件缺陷的分类都有哪些
2014/08/22 面试题
饲料采购员岗位职责
2013/12/19 职场文书
企业申诉管理制度
2014/01/30 职场文书
贷款承诺书范文
2014/05/19 职场文书
社区科普工作方案
2014/06/03 职场文书
党员个人公开承诺书
2014/08/29 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
2014年办公室个人工作总结
2014/11/12 职场文书
感恩父母主题班会
2015/08/12 职场文书
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript