jQuery - Veränderung in Adressleiste eintragen

gordian

Grünschnabel
Hallo zusammen,

angenommen ich verändere durch einen Button mit der jQuery Funktion animate() das Layout meiner Seite.

Wie bekomme ich es hin, dass sich die Seite Bookmarken und Aktualisieren lässt, ohne, dass man wieder am Anfang lande? Cookies kommen nicht in Frage, den die lassen sich nicht verschicken oder werden nach einer gewissen Zeit gelöscht. Optimal wäre also eine Veränderung (Parameter) in der Adressleiste. Wenn ich richtig informiert bin, könnte das mit get() funktionieren. Aber wie genau?

Für ein Tutorial zu dem Thema oder noch besser, wenn ihr mir das an dem einfach Beispiel zeigt, wäre ich wirklich dankbar!

HTML:
<!DOCTYPE html>
<html>
<head>
<style>
div {
    background-color:#000000;
    width:100px;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>

<body>
<button id="go">Klick!</button>

<div id="block">Test!</div>
<script>
$("#go").click(function(){
  $("#block").animate({
    width: "50%",
  }, 1500 );
});
</script>


Thanks!
 
Soweit ich weiß, bringt dir die Methode get nicht viel. Grundsätzlich kannst du die Änderungen als Anker (also das, was in der Adressleiste nach dem Doppelkreuzzeichen # steht) vermerken und musst somit die Seite nicht neu laden. Das kannst du aber auch sehr leicht ohne jQuery lösen, in dem du einfach mit window.location.hash arbeitest.
 
Danke, das war genau der richtige Hinweis.

So funktioniert es, wie ich es mir vorstelle:

HTML:
<!DOCTYPE html>
<html>
<head>
<style>
div {
    background-color:#000000;
    width:100px;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>

<body>
<a href="#neueseite" id="go">Klick!</a>

<div id="block">Test!</div>
<script>
if(window.location.hash=='#neueseite') {
	$("#block").css({'width' : '50%'});
	}
	else {
	$("#go").click(function(){
		$("#block").animate({width: "50%",}, 1500 );
	});
};
</script>

</body>
</html>
 
Zurück