Saya sudah memasang panel geser di situs web saya.
Ketika selesai animasi, saya mengatur hash seperti itu
function() {
window.location.hash = id;
}
(ini adalah panggilan balik, dan id
ditugaskan sebelumnya).
Ini berfungsi baik, untuk memungkinkan pengguna untuk menandai panel, dan juga untuk versi non JavaScript untuk bekerja.
Namun, ketika saya memperbarui hash, browser melompat ke lokasi. Saya kira ini adalah perilaku yang diharapkan.
Pertanyaan saya adalah: bagaimana saya bisa mencegah ini? Yaitu bagaimana saya bisa mengubah hash jendela, tetapi tidak memiliki browser gulir ke elemen jika hash ada? Semacam event.preventDefault()
itu?
Saya menggunakan jQuery 1.4 dan plugin scrollTo .
Terimakasih banyak!
Memperbarui
Berikut adalah kode yang mengubah panel.
$('#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()
:)