使用 JavaScript 我需要找到一個位置固定的元素并將其頂部屬性設定為 60px。
const myDiv = document.querySelector('.my-div')
if(myDiv && myDiv.style.position == 'fixed') {
myDiv.style.top = '60px';
}
但它不起作用。我的代碼有什么問題?
uj5u.com熱心網友回復:
您可以使用window.getComputedStyle().
它將回傳一個具有所有樣式的物件,即使您沒有明確定義,style這與僅保存您明確設定的樣式值的屬性不同。
對于您的代碼,它看起來像這樣:
const myDiv = document.querySelector('.my-div')
if (!myDiv) return; // Early return guard to avoid calling getComputedStyle with null
const style = window.getComputedStyle(myDiv)
if (style.position === 'fixed') {
myDiv.style.top = '60px';
}
uj5u.com熱心網友回復:
element.style.prop僅處理元素的樣式inline。它不受樣式變化的影響(更多資訊embedded在這里)。因此,您不能使用它來獲取屬性的值。externalnon-inline
因此,您需要使用它:-
const myDiv = document.querySelector('.my-div');
if (myDiv && window.getComputedStyle(myDiv).getPropertyValue('position') == 'fixed') {
myDiv.style.top = '60px';
}
從這里參考他們:getComputedStyle和getPropertyValue。
或者更簡單地說,您可以簡單地使用.或[]符號來獲取值。您可以在此處查看差異。
const myDiv = document.querySelector('.my-div');
if (myDiv && window.getComputedStyle(myDiv).position == 'fixed') {
myDiv.style.top = '60px';
}
uj5u.com熱心網友回復:

它雖然有效......您應該澄清您的確切問題,以便我可以進一步幫助您。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/469210.html
標籤:javascript
