欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

使js在css之前執(zhí)行

在前端頁(yè)面開(kāi)發(fā)中,我們經(jīng)常需要使用JavaScript來(lái)操作CSS樣式,但是由于JavaScript會(huì)阻塞頁(yè)面渲染,所以我們通常會(huì)把JavaScript的引入放在頁(yè)面底部,也就是放在</body>標(biāo)簽前面。這樣可以保證頁(yè)面的內(nèi)容能夠盡快的呈現(xiàn)給用戶,不至于出現(xiàn)一片空白的情況。

然而,在某些情況下,我們需要先執(zhí)行JavaScript代碼,然后再執(zhí)行CSS樣式,比如說(shuō)我們需要在頁(yè)面加載完成后,先進(jìn)行一些計(jì)算后再設(shè)置CSS樣式,這時(shí)候我們就需要讓JavaScript在CSS之前執(zhí)行。

<!DOCTYPE html>
<html>
<head>
<title>JavaScript在CSS之前執(zhí)行</title>
<style>
p {
font-size: 20px;
color: red;
}
</style>
</head>
<body>
<p>Hello World!</p>
<script>
// 等待文檔加載完成后執(zhí)行
document.addEventListener('DOMContentLoaded', function() {
// 計(jì)算
var p = document.getElementsByTagName('p')[0];
var width = p.offsetWidth;
// 設(shè)置CSS樣式
p.style.width = width + 'px';
});
</script>
</body>
</html>

以上代碼演示了一個(gè)例子,我們?cè)贘avaScript中獲取了<p>標(biāo)簽的寬度,并設(shè)置成了該標(biāo)簽的寬度,使它始終保持寬度不變。

為了讓JavaScript在CSS之前執(zhí)行,我們可以把JavaScript代碼放在<head>標(biāo)簽里,并使用window.onload事件,這個(gè)事件會(huì)在頁(yè)面資源全部加載完成后觸發(fā),包括CSS、圖片和其他資源。

<!DOCTYPE html>
<html>
<head>
<title>JavaScript在CSS之前執(zhí)行</title>
<style>
p {
font-size: 20px;
color: red;
}
</style>
<script>
window.onload = function() {
// 計(jì)算
var p = document.getElementsByTagName('p')[0];
var width = p.offsetWidth;
// 設(shè)置CSS樣式
p.style.width = width + 'px';
};
</script>
</head>
<body>
<p>Hello World!</p>
</body>
</html>

以上代碼中,我們把JavaScript代碼放在了<head>標(biāo)簽中,并使用window.onload事件來(lái)執(zhí)行JavaScript代碼。這樣,JavaScript代碼就會(huì)在CSS樣式之前執(zhí)行了。