To jest mój kod:jquery .hide() fadeIn()
$('.items').html(response).hide().fadeIn();
Problem polega na tym, że kiedy ten jest ładowany do strony "przeskakuje" w górę z powodu, że .hide() .. jest tam jakiś inny sposób to zrobić?
To jest mój kod:jquery .hide() fadeIn()
$('.items').html(response).hide().fadeIn();
Problem polega na tym, że kiedy ten jest ładowany do strony "przeskakuje" w górę z powodu, że .hide() .. jest tam jakiś inny sposób to zrobić?
Można użyciu krycie zamiast jeśli chcesz zachować wymiary elementu nienaruszonego:
$('.items').html(response).css({'opacity':0}).animate({'opacity':1});
Ukryj za pomocą CSS, a następnie znikną ją w razie potrzeby:
css:
.items {
display:none;
}
JavaScript
$('.items').html(response).fadeIn();
Problem polega na tym, że jest to odpowiedź ajax .. są tam elementy pokazujące na stronie ładowanie, że właśnie filtruję – Mackelito
masz kilka innych opcji - zamień HTML i podświetl div, aby pokazać jego zmienione ... dodaj div i przesuń poprzedni div, a następnie przesuń nowy div up .... lub fadeOut()/fadeIn()? – ManseUK
Jeśli chcesz pokazać sprawne SLAJDU między istniejącej zawartości i nowe, spróbuj wykonać następujące czynności:
$(function(){
$('.items').fadeOut(function(){
$(this).html(response).fadeIn();
})
});
To jest czystsze rozwiązanie, ponieważ unika się migający efekt element dodany jest pierwszy, a następnie szybko konieczności jego krycie ustawiony na 0.
ten sposób elem jest dodana już mającą krycie 0.
var elem = $(response).css({'opacity': 0});
$('.items').html(elem);
elem.animate({'opacity': 1});
Dlaczego masz Hide() dwa razy? Gdy zostanie ukryty, powinien pozostać ukryty, dopóki nie pokażesz() go ponownie. – danwellman
Och ... moje złe .. tylko literówka ... zmieni pytanie! – Mackelito
Czy elementy ".items" są widoczne po załadowaniu strony (a następnie, prawdopodobnie, zaktualizowane przez wywołanie ajax)? Czy pomysł ukrywania i zanikania zwraca uwagę na właśnie zaktualizowany bit? – nnnnnn