Я пытаюсь создать что-то вроде "виртуальной галереи". Я использую Coda Slider 2.0 и jQuery v1.4.2
Он прекрасно работает в IE, FF и Safari, но Chrome, кажется, перезагружается / зависает при установке location.hash. Это заставляет анимацию jQuery зависать на секунду: S
Пример: http://hardyernst.dk/gallery.html попробуйте нажать на навигационные ссылки над изображениями.
Код jQuery, который выполняется при нажатии на навигационную ссылку:
$('#coda-nav-' + sliderCount + ' a').each(function(z) {
// What happens when a nav link is clicked
$(this).bind("click", function() {
offset = -(panelWidth*z);
navClicks++;
$(this).addClass('current').parents('ul').find('a').not($(this)).removeClass('current');
alterPanelHeight(z);
currentPanel = z + 1;
$('.panel-container', slider).stop().animate({ left: offset }, settings.slideEaseDuration, settings.slideEaseFunction, function(){
if (!settings.crossLinking) { return false; } // Don't change the URL hash unless cross-linking is specified
});
});
});
если я добавлю
return false;
в конце функции. Анимация будет плавно скользить :) ... НО , как вы могли догадаться, значение location.hash остается неизменным :(
Я пытался установить location.hash ранее в функции, увы, это не изменило поведение в Chrome
Буду безмерно благодарен за любую помощь:)
С уважением Убунут
редактирование:
Так что теперь я переместил location.hash в функцию обратного вызова анимации, это стало намного более плавным :), но если вы быстро нажмете две навигационные ссылки друг за другом, анимация будет зависать / зависать на мгновение (как и раньше). Я мог бы добавить jQuery .delay (), но я бы не стал так делать. Есть предложения?