2011-11-04 19 views
5

Mỗi lần một lần, tôi đọc một bài báo nói rằng chuyển đổi trang github được tạo bởi pjax, tôi đã kiểm tra dự án jquery-pjax. Tôi nghĩ rằng tôi đã gần với câu trả lời, nó phải là một cái gì đó liên quan đến sự kiện pjax:startpjax:end, nhưng tôi vẫn không thể làm cho nó hoạt động, vì vậy tôi cố gắng để có được một số trợ giúp ở đây.Làm thế nào để chuyển đổi trang kiểu github bằng pjax

$('a.pjax').pjax('#main'); 
$('#main').bind('pjax:start', function(){$('#main').slideUp()}) 
    .bind('pjax:end'), function(){$('#main').slideDown()}); 

Nhưng nó không có tác dụng

+0

Bạn đang nói về cách khi bạn khai thác thông qua mã trang tiếp theo/trước trượt trong và ngoài? Điều đó được thực hiện với API lịch sử HTML5 và JS hành vi cơ bản. –

+0

@CalvinFroedge có, tôi đang nói về trang xem mã, và bạn có nghĩa là không có gì về pjax? –

+2

Vâng, cốt lõi của những gì làm cho công việc đó là API lịch sử: http://html5demos.com/history Bạn sẽ nhận được yêu cầu sau khi bạn trao đổi với một url mới. Phần hiệu ứng có thể được thực hiện với jQuery animate chuẩn. –

Trả lời

4

Github sử dụng các tính năng HTML5 cho chuyển trang. Điều đó bao gồm các quá trình chuyển đổi JS và API lịch sử JS mới. Không có jQuery tham gia ngoại trừ việc lắng nghe sự kiện tiêu chuẩn, bộ chọn. Bài đăng trên blog có ở đây với tất cả các liên kết có liên quan https://github.com/blog/760-the-tree-slider

+5

Tôi đọc bài viết này, vẫn không có ý tưởng –

1

Tôi không biết điều này có liên quan chút nào hay không. Nhưng tôi đã sử dụng Pjax và mã ở trên có lỗi cú pháp, phải là:

$('a.pjax').pjax('#main'); 
$('#main').bind('pjax:start', function(){$('#main').slideUp()}) 
.bind('pjax:end', function(){$('#main').slideDown()}); 

Chỉnh sửa: Có, xin lỗi vì đã không chỉ ra điều đó. Chính xác như @Udo Held cho biết: Bạn cần phải loại bỏ các khung sau khi 'pjax: kết thúc' hoặc người nào khác nó sẽ không làm theo và thực hiện $ ('# chính'). SlideDown() chức năng.

+0

Bạn có lẽ nên chỉ ra là lỗi là khó khăn của nó để cho biết sự khác biệt là như thế nào: Bạn cần phải loại bỏ các khung sau khi '.bind ('pjax: end'' và sau đó lặp lại mã số làm việc hoặc một cái gì đó như thế. –

1

Pjax: Demo, Source[Github]
Đây là một trong những điều đó github sử dụng .. reference

+0

cảm ơn rất nhiều vì điều này tôi đã dành một tuần tìm kiếm và cuối cùng đã tìm ra github ra thx để liên kết tham chiếu của bạn – Noitidart

Các vấn đề liên quan