您正在描述檢測對瀏覽器窗口分辨率的更改,而不是屏幕分辨率。使用.resize()
或等效地.on('resize', ...)
這樣做很容易。
var animationParameters = {}; // an empty object
function setAnimationParametersForWindowWidth(width) {
if (width < 1024) { // change to the width you care about
animationParameters.fadeInTime = 500;
// set all variables that depend on the window width
} else {
animationParameters.fadeInTime = 1000;
// set all variables that depend on the window width
}
}
function setAnimationParameters() {
var width = $(window).width();
setAnimationParametersForWindowWidth(width);
}
$(window).on('resize', setAnimationParameters);
function doTheAnimation() {
$("#div1").delay(500).fadeIn(animationParameters.fadeInTime);
// run more animations, using the variables in animationParameters
}
$(document).ready(function(){
setAnimationParameters();
doTheAnimation();
});
正如我所展示的,你應該改變你的.animate()
電話使用的變量而不是硬編碼數字的值。這將允許動畫根據瀏覽器窗口的大小而不同。添加儘可能多的變量,因爲動畫中有數字發生變化。
resize
事件的處理程序查看$(window).width()
以確定當前窗口寬度。
這裏是一個關於檢測屏幕資源的帖子。使用jQuery更改:http://stackoverflow.com/questions/8575772/how-to-detect-in-jquery-if-screen-resolution-changes – tymeJV