Вы не можете использовать fadeOut
, потому что он устанавливает стиль div на display:none
, и, следовательно, div имеет нулевую высоту и ширину, что делает плагин scrollTo очень плохим. Я бы предложил использовать непрозрачность. В приведенном ниже коде я установил минимальную непрозрачность на 0,2, потому что, когда я установил ее на ноль, было трудно сказать, что содержимое прокручивается.
Я взял демонстрацию LocalScroll и внес эти изменения - похоже, она работает довольно хорошо. Я не пытался сопоставить ваш код, потому что я знаю, что приведенный ниже код работает с демо-версией, а в заголовке вашего вопроса указано localScroll, но ваш код использует serialScroll. В любом случае, я предполагаю, что ul.slideshow li
в вашем коде должно быть эквивалентно .sub
в приведенном ниже коде.
$.localScroll({
target: '#content', // could be a selector or a jQuery object too.
queue: false,
duration: 500,
hash: false,
easing: 'swing',
onBefore:function( e, anchor, $target ){
// The 'this' is the settings object, can be modified
$('.sub').animate({ opacity: 0.2 }, 250);
},
onAfter:function( anchor, settings ){
// The 'this' contains the scrolled element (#content)
$(anchor).animate({ opacity: 1 }, 250);
}
});
Редактировать: я разместил демо на этом pastebin