ฉันมีแผงเลื่อนบนเว็บไซต์ของฉัน
เมื่อการเคลื่อนไหวเสร็จสิ้นฉันจะตั้งค่าแฮชเป็นอย่างนั้น
function() {
window.location.hash = id;
}
(นี่คือการติดต่อกลับและid
ได้รับมอบหมายก่อนหน้านี้)
วิธีนี้ใช้งานได้ดีเพื่อให้ผู้ใช้สามารถคั่นหน้าพาเนลและสำหรับเวอร์ชันที่ไม่ใช่ JavaScript ให้ทำงานได้
อย่างไรก็ตามเมื่อฉันอัปเดตแฮชเบราว์เซอร์จะข้ามไปยังตำแหน่ง ฉันคิดว่านี่เป็นพฤติกรรมที่คาดหวัง
คำถามของฉันคือ: ฉันจะป้องกันได้อย่างไร คือฉันจะเปลี่ยนแฮชของหน้าต่างได้อย่างไร แต่ไม่มีเบราว์เซอร์เลื่อนไปที่องค์ประกอบหากมีแฮชอยู่? บางสิ่งบางอย่างevent.preventDefault()
?
ฉันใช้ jQuery 1.4 และปลั๊กอิน scrollTo
ขอบคุณมาก!
ปรับปรุง
นี่คือรหัสที่เปลี่ยนพาเนล
$('#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()
:)