中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IE8中jQuery.load()加載頁面不顯示怎么解決

發布時間:2022-03-31 11:01:43 來源:億速云 閱讀:546 作者:iii 欄目:開發技術

這篇“IE8中jQuery.load()加載頁面不顯示怎么解決”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“IE8中jQuery.load()加載頁面不顯示怎么解決”文章吧。

一、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()加載頁面不顯示怎么解決”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

固始县| 大港区| 商都县| 承德县| 辛集市| 绥德县| 治县。| 赤峰市| 红桥区| 仁怀市| 乌拉特前旗| 桐城市| 石棉县| 哈尔滨市| 红原县| 乐陵市| 马边| 丹阳市| 安义县| 南丹县| 台东市| 洮南市| 比如县| 潞西市| 麦盖提县| 宝坻区| 拜泉县| 洞头县| 苏尼特左旗| 阳信县| 和林格尔县| 邵东县| 池州市| 印江| 南雄市| 于都县| 太保市| 和田县| 布拖县| 辉南县| 西畴县|