您正在描述检测浏览器窗口分辨率的更改,而不是屏幕分辨率。.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()
以确定当前窗口宽度。