Tôi có plugin tab điều hướng ajax jQuery mà tôi đã tạo bằng cách sử dụng một số trợ giúp từ CSS-Tricks.com và plugin jQuery hashchange event (phát hiện thay đổi băm trong trình duyệt mà không không hỗ trợ nó).
Mã này rất ít thời gian để đăng nó ở đây nhưng nó đi một cái gì đó như thế này:
Phần 1) Khi một tab được nhấp, nó được thuộc tính href của tab đó và thêm nó vào thanh trình duyệt chuyển hướng như '#tab_name': window.location.hash = $(this).attr("href");
Phần 2) Khi thanh điều hướng thay đổi (thay đổi băm), nó được thay đổi như sau: window.location.hash.substring(1);
(chuỗi con chỉ nhận 'tab_name' không có '#'), sau đó gọi hàm ajax để hiển thị thông tin.
tôi muốn để tự động kích hoạt các plugin để load tab đầu tiên khi trang được truy cập, vì vậy vào lúc bắt đầu của mã tôi đặt:
if (window.location.hash === '') { // If no '#' is in the browser navigation bar
window.location.hash = '#tab_1'; // Add #tab_1 to the navigation bar
$(window).trigger('hashchange'); // Trigger a hashchange so 'Part 2' of the plugin calls the ajax function using the '#tab_1' added
}
Các probles là nó hoạt động trong FF nhưng không phải trong Chrome, ý tôi là, mọi thứ đều hoạt động nhưng có vẻ như $(window).trigger('hashchange');
không hoạt động bởi vì nó không nhận được tab đầu tiên ..
Mọi đề xuất ??
Lưu ý: Nó đã hoạt động một số thời gian trước đây nhưng đột nhiên nó không (có thể Chrome cập nhật).
Vâng, hàm băm được định nghĩa như sau: $ (cửa sổ) .bind ('hashchange', function() {... – Jonathan
Tôi đã tìm thấy sự cố, tôi sẽ gọi $ (cửa sổ) .trigger ('hashchange') , trước khi hashcnage được định nghĩa trong $ (window) .bind ('hashchange', function() {... Thanks por trỏ tôi đến hướng! – Jonathan