Autor Zpráva
prem
Profil *
Ahoj,

odkazuju na část stránky ale nelíbí se mi, že jakmile kliknu na kotvu tak ta stránka poskočí, chtěl bych aby tam přejela plynule. Jde to prosím nějak udělat?

Díky moc za rady!
ninja
Profil
Pomoci JavaScriptu. Vetsina JS frameworku na to ma metodu.
prem
Profil *
ou to bych potřeboval vysvětlit trochu více, v javascriptu bohužel kovaný nejsem. Nemáte třeba nějaký článek o tom?
http
Profil
Ahoj,
http://davidwalsh.name/smooth-scroll

příklad:
http://davidwalsh.name/dw-content/smooth-scroll.php
prem
Profil *
výborný děkuju !!!
Str4wberry
Profil
Jen podotknu, že to v Opeře moc nefunguje.
http
Profil
Ještě řešení přes jQuery a né MooTools - ono se to pak nějak tluče na stránkách....
jen si z www.jquery.com stáhni poslední verzi jquery.

do <head>
<script type="text/javascript" src="posledni-verze-jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {

	$('#nahoru').click(function() {
		    $('html, body').animate({scrollTop: '0px'}, 500);
			return false;		
		  });
});
</script>





do <body>
<a href="#" id="nahoru">Nahoru na stránku</a>
xom
Profil
Pro řešení plynulého posunu na všech odkazech na kotvy ve stránce jsem sepsal následující článek pro jQuery: http://pinion.cz/plynule-scrollovani-s-jquery
Kookie
Profil *
Ahoj,

chtěl bych do tohoto kódu přidat řádek, který způsobí, že se scrollování po určitém časovém úseku přestane vykonávat / zastaví:

var t;
function top() {
window.scrollBy(1,0);
t=setTimeout('top()',1);
}

jaká metoda by na to šla použít?
Díky
xom
Profil
Kookie:
Co znamená, že se posun po nějakém čase zastaví? To nechceš, aby čtenář dojel ke kotvě?

Pokud nezáleží na tom, kde se stránka zastaví, tak je vlastně pouze potřeba si určit rychlost posunu (poměr pixelů vůči času). Pokud budeš chtít, aby posun probíhal rychlostí 5px za 100 milisekund a celý posun zabral 1 sekundu, tak nastavíš posun o 50px v jedné sekundě.

Příklady v jQuery:

$('html, body').animate({scrollTop: '100px'}, 5000); // bude scrollovat 100 pixelů 5 sekund
$('html, body').animate({scrollTop: '100px'}, 500); // bude scrollovat 100 pixelů půl sekundy
Kookie
Profil *
xom:
Šlo mi o fotogalerii, při kliknutí do určitého místa se posunout určitým směrem o nějaký kus bez použití kotev. Ten příklad, který jsi psal, ale roluje do absolutní pozice na stránce, já jsem potřeboval ty souřadnice relativně. I tak ale díky moc za radu, nakonec jsem to vyřešil přes smooth div scroll :-)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: