Tôi có một trang có hai tab mà tôi muốn có thể chuyển đổi bằng Javascript, nhưng cũng đặt neo (ví dụ: page.html#tab1
) trong URL để đánh dấu trang/liên kết.Kích hoạt URL neo nhưng không di chuyển đến nó?
Theo mặc định, nội dung tab nằm trong hai div, bên dưới thẻ còn lại và thẻ neo sẽ cuộn đến đúng, với JS bị tắt.
Khi bật JS, các lớp CSS được áp dụng để làm cho chúng hoạt động như các tab. Mỗi tab liên kết với mỗi liên kết, nhưng khi bạn nhấp để chuyển đổi các tab, trang sẽ cuộn đến tab. Nếu tôi trả về false từ hàm onclick thì URL sẽ không thay đổi để bao gồm anchor.
Làm cách nào để thay đổi URL trình duyệt thành page.html#tab1
nhưng không cuộn đến #tab1
??
Tác phẩm này và tôi vừa phát hiện ra đó là những gì validator.w3.org thực hiện. Cuối cùng, tôi quyết định loại bỏ việc nhảy neo đến đúng vị trí trong các trình duyệt không phải JS vì hai div không cao lắm, và khi bạn nói các liên kết từ người dùng đã kích hoạt JS cho người dùng không phải JS sẽ ngừng hoạt động. – DisgruntledGoat