$(document).ready(myfunction);
$(window).on('resize',myfunction);
function myfunction() {
var $MyDiv1 = $('#mydiv1');
if ($MyDiv1.length && $MyDiv1.css('position') == 'fixed') {
console.log ('#mydiv1 is fixed');
} else {
console.log ('#mydiv1 is not fixed');
}
}
另一種技術是.trigger()
一個事件中的另一個內:
$(window).on('resize',function() {
var $MyDiv1 = $('#mydiv1');
if ($MyDiv1.length && $MyDiv1.css('position') == 'fixed') {
console.log ('#mydiv1 is fixed');
} else {
console.log ('#mydiv1 is not fixed');
}
});
$(document).ready(function() {
$(window).trigger('resize');
});
如果你把你的代碼在頁面的底部,以避免需要$(document).ready
,它變得更簡單:
$(window).on('resize',function() {
var $MyDiv1 = $('#mydiv1');
if ($MyDiv1.length && $MyDiv1.css('position') == 'fixed') {
console.log ('#mydiv1 is fixed');
} else {
console.log ('#mydiv1 is not fixed');
}
}).trigger('resize');
參考:jQuery combine .ready and .resize
這可能是一個重複的問題。請參閱:http://stackoverflow.com/questions/2758651/how-to-change-height-div-on-window-resize – Vincent
我不會建議每次瀏覽器窗口更改大小時執行此操作。它會被執行很多次。你真的要檢查這個嗎?你爲什麼要檢查元素的位置屬性?也許我們可以給你一些更好的適合的解決方案。 – Jagi
Jagi,這是我的WordPress主題粘性菜單。如果wp管理欄存在,則該腳本將wpadminbar高度添加到頂部間距。 wp管理欄的位置由defult固定,但在移動設備上的位置是絕對的。在這種情況下,我需要0 topspacing的粘性菜單,否則我有一個缺口的頂部。 – agva