Tôi có một câu hỏi sẽ được tìm thấy rất thường xuyên. Vấn đề là không nơi nào có thể tìm thấy một giải pháp rõ ràng.
Tôi có hai vấn đề liên quan đến neo.
Mục tiêu chính là để có được một url sạch đẹp mà không có bất kỳ băm nào trong đó trong khi sử dụng các ký tự liên kết để nhảy trên một trang.
Vì vậy, cấu trúc của các neo là:
<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>
Được rồi, nếu bạn nhấp vào một trong các liên kết, url sẽ tự động thay đổi thành
www.domain.com/page#1
Cuối cùng, điều này chỉ là:
www.domain.com/page
Càng xa càng tốt. Bây giờ điều thứ hai là, khi bạn tìm kiếm trên internet cho vấn đề đó, bạn sẽ tìm thấy javascript
như một giải pháp.
Tôi đã tìm thấy chức năng này:
function jumpto(anchor){
window.location.href = "#"+anchor;
}
và gọi hàm đó với:
<a onclick="jumpto('one');">One</a>
những gì sẽ giống như trước đây. Nó sẽ thêm băm vào url. Tôi cũng đã thêm
<a onclick="jumpto('one'); return false;">
không thành công. Vì vậy, nếu có ai đó có thể cho tôi biết cách giải quyết điều này tôi thực sự sẽ đánh giá cao.
Cảm ơn rất nhiều.
window.scrollTo
hoặc trình trợ giúp jQuery tương ứng: stackoverflow.com/questions/6677035/jquery-scroll-to-element hoặc stackoverflow.com/questions/500336/ tựa
location.hash=''
, phần #
còn lại ở đó.
window.location.hash=''
.