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插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
Mar 21 jQuery
基于JQuery和原生JavaScript实现网页定位导航特效
Apr 03 jQuery
简单实现jQuery手风琴效果
Aug 18 jQuery
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
Aug 23 jQuery
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
Oct 19 jQuery
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
jquery在启动页面时,自动加载数据的实例
Jan 22 jQuery
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
JQuery省市联动效果实现过程详解
May 08 jQuery
Jquery使用each函数实现遍历及数组处理
Jul 14 jQuery
jQuery实现开关灯效果
Aug 02 jQuery
JavaScript枚举选择jquery插件代码实例
Nov 17 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
模仿OSO的论坛(四)
2006/10/09 PHP
PHP聊天室技术
2006/10/09 PHP
PHP多个版本的分析解释
2011/07/21 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
深入解析WordPress中加载模板的get_template_part函数
2016/01/11 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
判断页面是关闭还是刷新的js代码
2007/01/28 Javascript
JavaScript 组件之旅(二)编码实现和算法
2009/10/28 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
详解VueJS 数据驱动和依赖追踪分析
2017/07/26 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
原生JS实现弹幕效果的简单操作指南
2020/11/10 Javascript
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
python读取word 中指定位置的表格及表格数据
2019/10/23 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
python如何调用百度识图api
2020/09/29 Python
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
Ramy Brook官网:美国现代女装品牌
2019/06/18 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
消防安全责任书
2014/04/14 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书