我是一组共享与css维度相同的类名。在单击特定的<div>时,我
填充到屏幕的宽度和高度,并覆盖其他<div>s。它工作得很好。但问题是,当我再次点击时,我已经失去了它的原始尺寸,以恢复到它的原始尺寸。下面是我的代码:
var isFullscreen = false;
$('.item').click(function(){
var d = {};
var speed = 900;
if(!isFullscreen){ // MAXIMIZATION
d.width = $(window).width();;
d.height = $(window).height();;
isFullscreen = true;
$('.item').hide();
$(this).show();
$(this).animate(d,speed)
}
else{ // MINIMIZATION
**d.width = $(this).css('width');**
**d.height = $(this).css('height');**
isFullscreen = false;
$(this).animate(d,speed);
$('.item').show();
}
})我试图通过保存它的原始尺寸并在第二次单击时使用它们来使用类似于静态变量的东西。
发布于 2012-10-05 02:42:33
我能够做到这一点,在我调整大小之前保存我的高度和宽度,并在以后使用它们:下面是我修改的代码:你可以弄清楚,我在这些行中添加了**……
var isFullscreen = false;
var d = {};
**var test = {};**
$('.item').click(function(){
var speed = 900;
if(!isFullscreen){ // MAXIMIZATION
**test.width = $(this).css('width');**
**test.height = $(this).css('height');**
d.width = $(window).width();
d.height = $(window).height();
isFullscreen = true;
$('.item').hide();
$(this).show();
$(this).animate(d,speed)
}
else{ // MINIMIZATION
d.width = test.width;
d.height = test.height;
isFullscreen = false;
$(this).animate(d,speed);
$('.item').show();
}
})感谢你们的支持。
发布于 2012-10-05 00:53:30
您当前每次单击该项目时都会重新声明d变量,使其成为一个空对象。如果您将var d = {}声明移到单击函数之外,那么您将能够做到这一点。
发布于 2012-10-05 01:06:21
尝试使用prototype属性。这将确保它的add instances具有与其关联的相同值。
function d(){
}
d.prototype.width=$(window).width();
d.prototype.height=$(window).width();https://stackoverflow.com/questions/12732012
复制相似问题