Как обнулить переменные после завершения скрипта
Появилась необходимость самому написать скрипт который при клике по ссылке плавно из нее выведет на середину экрана блок с необходимым содержимым. а при клике на нем - уберет его обратно.
Написал следующий скрипт (jQuery (jquery-1.4.2.min.js)) код вынесен в отдельный файл $(document).ready(function (){ parth = Math.round($(window).height()/2); // Получаю округленную половину высоты окна браузера partw = Math.round($(window).width()/2); // Получаю округленную половину ширины окна браузера offset = $(".show").offset(); // Получаю координаты .show offsl = offset.left + 100; // Прибавляю к координатам слева 100px (половина ширины блока .one) offst = offset.top + 100; // Прибавляю к координатам сверху 100px (половина высоты блока .one) margintop = parth - offst; // Получаю верхний отступ (для .one) marginleft = partw - offsl; // Получаю левый отступ (для .one) $('.one').height($(".show").height()) ; // задаю исходную высоту для .one равную высоте .show $('.one').width($(".show").width()) ; // задаю исходную ширину для .one равную ширине .show $(".show").click(function(){ // по событию click объект .one становится видемым, плавно увеличивется и меняет прозрачность, положение на margintop b marginleft $('.one').show().animate({width: "200px", height: "200px", 'top':margintop, 'left':marginleft, opacity: 1}, 400); }); $(".one").click(function(){ // по событию click width = $(".show").width(); // присваиваю переменной значение ширины .show height = $(".show").height(); // присваиваю переменной значение высоты .show $('.one').animate({'width':width, 'height':height, top: "0px", left: "0px", opacity: 0.1}, 400, function(){ // объект .one плавно уменьшается до width и height, меняет прозрачность, возвращается на исходное положение $('.one').hide(); // скрывает .one } ); return false }); }); Все работает. Но если после выполнения скрипта (когда .one вновь скрыт) я изменю размер окна браузера и заново кликну по .show - то блок .one выезжает не на новый центр окна, а на тот что был при первом запуске скрипта. Если страницу обновить - тогда все нормально, но мне нужно чтобы при каждом клике по .show все переменные высчитывались заново без обновления страницы. Как это сделать? Помогите пожалуйста. Заранее спасибо |
их не надо обнулять, их надо просто при каждом клике пересчитывать
|
А каким образом этого можно добиться? Как их пересчитать при каждом событии click по объекту .show?
|
ну как... вычислять их при щелчке и не после загрузки документа
p.s. и если создаешь новую переменную, пиши перед ней var: var a = 1; |
Часовой пояс GMT +3, время: 06:28. |