есть функция, которая вычисляет размер кнопки вверх/вниз
Код: Выделить всё
toplinkwidth: function(){
totalContentWidth = jQuery('#wrap').outerWidth(); // ширина блока с контентом, включая padding
totalTopLinkWidth = jQuery('#top-link').children('a').outerWidth(true); // ширина самой кнопки наверх, включая padding и margin
h = jQuery(window).width()/2-totalContentWidth/2-totalTopLinkWidth;
if(h<0){
// если кнопка не умещается, скрываем её
jQuery(this).hide();
$('#top-link').css('visibility','hidden');
} else {
if(jQuery(window).scrollTop() >= 1){
jQuery(this).show();
$('#top-link').css('visibility','visible');
}
jQuery(this).css({'padding-right': h+'px'});
}
}
в первоначальном варианте, если ширина кнопки H < 0, кнопка скрывается, но функция срабатывает только на изменение размеров окна.
если выполняется прокрутка страницы, то кнопка появляется.
требуемого результата получилось достигнуть, устанавливая/возвращая видимость кнопки по условию:
Код: Выделить всё
$('#top-link').css('visibility','hidden');
вопрос, насколько правильным или "кастыльным" является данное решение?
существует ли способ останавливать выполнение всего скрипта по условию, а не просто скрывать кнопку?
на всякий случай прикладываю файл скрипта.