ฉันมีคำถามที่จะพบบ่อยมาก ปัญหาคือไม่มีที่ไหนสามารถหาวิธีแก้ปัญหาที่ชัดเจนได้
ฉันมีปัญหาสองประการเกี่ยวกับแองเคอร์
เป้าหมายหลักคือการได้รับ url ที่สะอาดโดยไม่ต้องแฮชใด ๆ ในขณะที่ใช้จุดยึดเพื่อข้ามไปยังหน้าเว็บ
ดังนั้นโครงสร้างของพุกคือ:
<ul>
<li><a href="#one">One</a></li>
<li><a href="#two">Two</a></li>
<li><a href="#three">Three</a></li>
</ul>
<div class="wrap">
<a name="one">text 1</a>
<a name="two">text 2</a>
<a name="three" class="box">text 3</a>
</div>
โอเคถ้าคุณจะคลิกลิงค์ใดลิงค์หนึ่ง url จะเปลี่ยนเป็นโดยอัตโนมัติ
www.domain.com/page#1
ในตอนท้ายควรเป็นเพียง:
www.domain.com/page
จนถึงตอนนี้ดีมาก ตอนนี้สิ่งที่สองคือเมื่อคุณค้นหาอินเทอร์เน็ตสำหรับปัญหานั้นคุณจะพบjavascript
วิธีแก้ปัญหา
ฉันพบฟังก์ชันนี้แล้ว:
function jumpto(anchor){
window.location.href = "#"+anchor;
}
และเรียกใช้ฟังก์ชันนั้นด้วย:
<a onclick="jumpto('one');">One</a>
อะไรจะเหมือนเดิม มันจะเพิ่มแฮชใน url ฉันยังเพิ่ม
<a onclick="jumpto('one'); return false;">
ปราศจากความสำเร็จ. ดังนั้นหากมีใครสามารถบอกวิธีแก้ปัญหานี้ได้ฉันจะขอบคุณจริงๆ
ขอบคุณมาก.
window.scrollTo
หรือโดยผู้ช่วย jQuery ที่เกี่ยวข้อง: stackoverflow.com/questions/6677035/jquery-scroll-to-elementหรือstackoverflow.com/questions/500336/…
location.hash=''
นี้#
ยังคงมี
window.location.hash=''
ซึ่งชุด