nchors jQuery ScrollTo Desactivar de animação
Pergunta
Eu estou usando o plugin jQuery ScrollTo de Ariel Flesler. Tudo é grande, exceto quando a rolagem, a animação arrasta o cursor sobre alguns links que, tendo: gatilhos pairar, causa uma momentânea pendurar-se na animação. Qualquer chance que alguém sabe como elementos desativar: funções pairar enquanto a animação está acontecendo
Solução
Quando você diz que as ligações têm ": gatilhos hover", que quer dizer que você tenha definido um CSS:? Regra pairar ou que você tenha ligado uma função JavaScript para o evento em foco
Se é CSS, que propriedades que você está definindo que faz com que o enforcamento (I não pode duplicar o enforcamento na minha máquina com uma simples mudança font-size). Tanto quanto eu posso dizer, você não pode impedir que um CSS:. Pairar
Se é JavaScript, você não pode simplesmente desvincular o evento antes de chamar scrollTo?
Um pouco mais de elaboração ou um exemplo seria útil.
Editar:
A aprovação, em resposta ao seu comentário, basicamente você tem que unbind
os eventos mouseenter
e mouseleave
antes de usar scrollTo
:
$(...).unbind('mouseenter mouseleave');
Demonstração
Visite http://demos.flesler.com/jquery/scrollTo/# -alvo exemplos e executar o seguinte código no Firebug.
Você pode, em seguida, clique no link "teste de rolagem" para testar o código. Você deverá ver que o navegador não travar quando os paira rato sobre o resto dos links.
Quando a rolagem pára você pode clicar em qualquer um dos "voltar" ligações e vai rolar para trás, só que desta vez não vai desvincular os eventos em foco, para que o navegador deve travar.
Nota: eu não sentir qualquer pendurado em tudo. Você está usando um computador lento ou uma versão mais antiga do jQuery talvez? Deixe-me saber se a demonstração funciona como esperado.
/*
Inject some CSS to add a background to the elements we
are going to hover over and increase the font-size to
make the hover area bigger.
*/
$('head').append('<style type="text/css"> .back { font-size:3em!important; background-image:url(http://imgs.xkcd.com/comics/useless.jpg); background-repeat:no-repeat; } </style>');
/*
Setup the hover events -- change the backgroundPosition
and fade the elements in and out.
*/
function hoverOn() {
$(this)
.css('backgroundPosition','-95px -210px')
.fadeTo('normal', 1);
}
function hoverOff(){
$(this)
.css('backgroundPosition','-260px -110px')
.fadeTo('normal', 0.5);
}
// Set the default opacity and bind the hover events
$('.back').not('#pane-target a:first')
.css('opacity', 0.5)
.hover(hoverOn, hoverOff);
// Modify the first link so that we can use it to trigger the scroll.
$('#pane-target a').eq(0)
.css('backgroundImage', 'none') // Remove the backgroundImage for clarity
.unbind('click') // unbind the old "go back" behaviour
.text('test scroll')
.click(function(){
// unbind the hover events so that they don't hang the browser
$('.back').not('#pane-target a:first')
.unbind('mouseenter mouseleave');
$('#pane-target').scrollTo(
'li:eq(5)',
800,
{onAfter:function(){
// re-bind the hover events
$('.back').not('#pane-target a:first').hover(hoverOn, hoverOff);
}}
);
return false;
});