Изменение размера div при щелчке по размеру окна (работает) и изменение размера при втором щелчке (не работает)
У меня есть код, который позволяет мне изменять размер W&H контейнера, чтобы он соответствовал окну W&H при нажатии, и он отлично работает, также я хочу, чтобы он менял размеры при втором нажатии, но пока это не работает для меня...
Вот что я получил с половиной работающего jsFiddle:
$('.more').click(function(){
var isFullscreen = false;
var d = {};
var speed = 900;
if(!isFullscreen){ // MAXIMIZATION
d.width = $(window).width();;
d.height = $(window).height();;
isFullscreen = true;
}
else{ // MINIMIZATION
d.width = "50px";
d.height = "50px";
isFullscreen = false;
}
$(this).animate(d,speed)
})
1 ответ
Хмммм... ваша функция щелчка всегда начинается с инициализации isFullscreen в false (никогда не принимает ветвь else). Вы можете сделать isFullscreen глобальной переменной; переместите его объявление и инициализацию за пределы функции. Если предполагается, что это переменная "статического" типа, вам нужно инициализировать ее несколько иначе (начиная с присвоения этой функции щелчка имени), возможно:
$('.more').click(function f(){
f.isFullscreen = (f.isFullscreen===false)?true:false;
При первом вызове функции f.isFullscreen не определен (не идентичен false), поэтому устанавливается в false. При последующих вызовах его значение меняется, поэтому вам не нужны отдельные строки, которые устанавливают его значение в ваших блоках кода MAXIMIZATION и MINIMIZATION.