如果要调整窗口大小,我想更改属性。调整大小后如何返回原始属性?
$(document).ready(function() {
$('div').css('do 1');
});
$(window).resize(function(){
$('div').css('do 2 and when resize is finished go back to 1');
});
答案 0 :(得分:4)
.resize()
是一个事件,而不是布尔属性。
因此,您可以指定在调整窗口大小时触发的处理程序。
即
$(window).resize(function() {
$('body').prepend('<div>' + $(window).width() + '</div>');
});
答案 1 :(得分:1)
尝试将调整大小功能修改为此类
http://jsfiddle.net/Varinder/U3MKP/
以下是代码(以防小提琴链接不起作用)
$(document).ready(function() { $('div').css('do 1'); });
var t;
$(window).resize(function() {
clearTimeout(t);
$('div').css('do 2');
t = setTimeout(function() {
//resize end (sort-of-hacky) event fires here.
$('div').css('do 1');
}, 100);
});
答案 2 :(得分:0)
看起来你正在尝试做类似的事情:
$(window).resize(function() {
var n = $(window).width;
var trigger_num = 1000;
if (n > trigger_num) {
$('div').css('do something');
}
else {
$('div').css('do something else');
}
});
触发器编号基本上是您定义的数字,以便在窗口超过特定大小时触发CSS。这当然可以用&lt;,==等修改
答案 3 :(得分:-1)
$(window).on( "resize" , function(){
// do something
});
我建议限制此功能,因为每次更改像素大小时都会触发此功能。所以使用像underscorejs这样的东西。这将仅以每秒60帧的速度触发代码。
$(window).on( "resize" , _.throttle( function(){
// do something
} , 1000/60 ) );