Ich habe auf meiner Website ein Schiebefeld eingerichtet.
Als die Animation beendet war, stellte ich den Hash so ein
function() {
window.location.hash = id;
}
(Dies ist ein Rückruf, und der id
wird früher zugewiesen).
Dies funktioniert gut, damit der Benutzer das Bedienfeld mit einem Lesezeichen versehen kann und auch die Nicht-JavaScript-Version funktioniert.
Wenn ich jedoch den Hash aktualisiere, springt der Browser zum Speicherort. Ich denke, das ist erwartetes Verhalten.
Meine Frage ist: Wie kann ich das verhindern? Das heißt , wie kann ich den Hash - Fenster ändern, aber nicht den Browser blättern zu dem Element, wenn der Hash existiert? So event.preventDefault()
etwas?
Ich verwende jQuery 1.4 und das scrollTo-Plugin .
Danke vielmals!
Aktualisieren
Hier ist der Code, der das Panel ändert.
$('#something a').click(function(event) {
event.preventDefault();
var link = $(this);
var id = link[0].hash;
$('#slider').scrollTo(id, 800, {
onAfter: function() {
link.parents('li').siblings().removeClass('active');
link.parent().addClass('active');
window.location.hash = id;
}
});
});
event.preventDefault()
:)