亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

$(document).ready()也可以使用CSS嗎?

$(document).ready()也可以使用CSS嗎?

米琪卡哇伊 2019-11-14 09:59:58
我在$(document).ready()上執行了一個腳本,該腳本應該在布局中垂直對齊塊元素。90%的時間,它可以正常工作。但是,對于這額外的10%,發生以下兩種情況之一:進行居中的時間明顯滯后,并且塊元素跳入位置。這可能與性能相關-頁面的尺寸通常很大,并且有大量的JavaScript可以一次執行。居中將完全弄亂,并且塊元素將被向下推得太遠或不夠。似乎是試圖計算高度,但測量結果不正確。是否有任何理由為什么在不支持DOM的情況下執行腳本仍沒有將所有正確的CSS值注入到DOM中?(所有CSS都在<head>通過中<link>)。此外,這是引起問題的腳本(是的,直接從此處獲取): (function ($) {    // VERTICALLY ALIGN FUNCTION    $.fn.vAlign = function() {      return this.each(function(i) {        var ah = $(this).height();        var ph = $(this).parent().height();        var mh = (ph - ah) / 2;        $(this).css('margin-top', mh);      });    };  })(jQuery);謝謝。
查看完整描述

3 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

根據HTML5,DOMContentLoaded是一個普通的DOM ready事件,沒有考慮樣式表。但是,HTML5解析算法要求瀏覽器將腳本的執行推遲到加載所有以前的樣式表之前。(DOMContentLoaded和樣式表)


在莫利(2010)的測試中,


IE和Firefox阻止所有后續腳本執行,直到加載樣式表

Webkit僅針對外部腳本阻止了后續執行(<script src>)

Opera沒有阻止任何腳本的后續執行

現在,所有現代瀏覽器都支持DOMContentLoaded(2017),因此它們現在可能已經對此行為進行了標準化。


查看完整回答
反對 回復 2019-11-14
  • 3 回答
  • 0 關注
  • 584 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號