2012-07-04 34 views
7

Tôi đang sử dụng phương thức $.mobile.changePage(...) của jQueryMobile để chuyển sang một trang khác trong dự án của tôi.Xác định chuyển đổi trả về giữa các thay đổi trang

$.mobile.changePage("#foo", { 
transition:"slide" 
}); 

Khi tôi chạy phương thức đó, quá trình chuyển đổi hoạt động hoàn hảo nhưng khi tôi nhấn nút quay lại của trình duyệt, tôi không thấy chuyển đổi ngược lại.

Tôi đã chơi xung quanh với một số thông số được mô tả trong http://jquerymobile.com/test/docs/api/methods.html nhưng không có may mắn.

Đặc biệt thiết lập reverse:true vừa đảo ngược chuyển tiếp khi chuyển sang trang đích nhưng vẫn không có chuyển tiếp khi tôi nhấn nút quay lại.


Cập nhật: Nó có vẻ như nhìn thấy dữ liệu rel = "trở lại" hiện các trick cho "liên kết orginary" được định nghĩa thông qua <a> -tag NHƯNG những gì tôi cần là tương đương với JavaScript khi gọi Hàm $.mobile.changePage().

+0

Bạn sử dụng trình duyệt nào để thử nghiệm? –

+0

@John Safari (iPhone) – Timo

Trả lời

0

Tìm thấy nó.

Một trong những nhà phát triển của chúng tôi đã tắt tất cả chuyển tiếp trả lại trên toàn cầu, vì vậy không có gì lạ khi nó không hoạt động.

Đây là những gì anh ấy đã sử dụng. Loại bỏ dòng đó đã làm các trick.

$.mobile.changePage.defaults.transition = "none"; 
2

Hãy xem trang này, http://jsfiddle.net/nachiket/mDTK2/show/light/
Làm việc tốt với tôi.

Nhấp (trên trang 1) hiển thị chuyển đổi từ Trái sang phải, & Nút quay lại (trên trang 2) hiển thị quá trình chuyển đổi từ phải sang trái.

Nguồn: http://jsfiddle.net/nachiket/mDTK2/
Nếu nó không hoạt động tốt, vui lòng chia sẻ trình duyệt của bạn và các chi tiết khác.
Nếu ví dụ hoạt động tốt, nhưng không phải là mã của bạn, hãy làm cho jsfiddle làm nổi bật vấn đề của bạn, vì vậy tôi có thể kiểm tra và cập nhật mã/câu trả lời.

+0

Có, việc tạo một Dự án jQM đơn giản hoạt động tốt. Có vẻ như hành vi này chỉ xuất hiện trong ứng dụng của tôi. Thật không may mã nguồn là bí mật. Điều gì sẽ là một thực hành tốt để gỡ lỗi này? – Timo

+0

@valmar Bạn nên bật bảng điều khiển gỡ lỗi cho Safari: http://osxdaily.com/2012/05/07/enable-safari-debug-console-ios/ –

2

Đối với các liên kết bạn muốn có sự chuyển đổi ngược trên bạn có thể sử dụng data-direction="reverse" với data-rel="back"

Ví dụ:

<div data-role="page" > 
    <div data-role="header"><h3> Header </h3> </div> 
    <div data-role="content" >  
     <a href="#page2" data-role="button" data-transition="slide">Page 2</a> 
    </div> 
</div> 

<div data-role="page" id="page2"> 
    <div data-role="header"><h3> Header </h3> </div> 
    <div data-role="content" >  
     <a href="#" data-rel="back" data-role="button" data-direction="reverse" >Back</a> 
    </div> 
</div>​ 

jsFiddle:

Documents :

CẬP NHẬT

Từ nhận xét của bạn

"Yeah, but how do I do that with the JavaScript function $.mobile.changePage()?" 

Documents:

Trích:

Properties: 
    reverse (boolean, default: false) Decides what direction the transition will run when showing the page. 
+0

Vâng, nhưng làm cách nào để làm điều đó với hàm JavaScript ' $ .mobile.changePage() '? – Timo

+0

xem cập nhật xin vui lòng –

+0

Không, đó là sai. Như tôi đã nêu trong câu hỏi ban đầu của tôi, sử dụng 'reverse = true' sẽ chỉ yêu cầu jQM sử dụng chuyển đổi ngược khi chuyển từ trang này sang trang khác. Nó sẽ không ảnh hưởng đến quá trình chuyển đổi khi quay lại trang trước. – Timo

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