最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:懂视网 责编:小采 时间:2020-11-27 22:03:55
文档

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

IE8中jQuery.load()加载页面不显示的原因:一、jQuery.load() jQuery.load(url,[data],[callback])通过Ajax异步请求加载服务器中的数据,并把数据放到指定元素中。 •url :请求服务器的地址 •data :可选项,请求时发送的数据 •callback :可选项,请求成功后的
推荐度:
导读IE8中jQuery.load()加载页面不显示的原因:一、jQuery.load() jQuery.load(url,[data],[callback])通过Ajax异步请求加载服务器中的数据,并把数据放到指定元素中。 •url :请求服务器的地址 •data :可选项,请求时发送的数据 •callback :可选项,请求成功后的

一、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()加载页面不显示的原因,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

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

IE8中jQuery.load()加载页面不显示的原因:一、jQuery.load() jQuery.load(url,[data],[callback])通过Ajax异步请求加载服务器中的数据,并把数据放到指定元素中。 •url :请求服务器的地址 •data :可选项,请求时发送的数据 •callback :可选项,请求成功后的
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top