Страница изменения мобильных телефонов JQuery
У меня есть два расположения столбцов для веб-страницы с сайта,
http://jquerymobile.com/demos/1.0.1/
Теперь они предоставили положения changePage, используя
<a href="#xxx" data-role="button">Sample</a>
Но мой вопрос заключается в том, как программно изменять страницу с помощью кода.
$.mobile.changePage("#xxx");
не работает для меня
Ответы
Ответ 1
Вот вам настоящий простой пример: http://jsfiddle.net/shanabus/YjsPD/
$.mobile.changePage("#page2");
Документация: http://api.jquerymobile.com/jQuery.mobile.changePage/
Другие примеры:
//transition to the "about us" page with a slideup transition
$.mobile.changePage( "about/us.html", { transition: "slideup"} );
//transition to the "search results" page, using data from a form with an ID of "search""
$.mobile.changePage( "searchresults.php", {
type: "post",
data: $("form#search").serialize()
});
//transition to the "confirm" page with a "pop" transition without tracking it in history
$.mobile.changePage( "../alerts/confirm.html", {
transition: "pop",
reverse: false,
changeHash: false
});
UPDATE
Как отмечает Chase Roberts в комментариях ниже, этот метод changePage
был устарел в версии 1.4. Вот документация для нового события pagecontainer change.
Пример:
$.mobile.pageContainer.pagecontainer("change", "#page", { options });
Это также было рассмотрено по этому вопросу SO: Как изменить страницу в jQuery mobile (1.4 beta)?
Ответ 2
Я знаю, что это уже ответили, но верно ли правильный ответ, почему он не работает, заключается в том, что синтаксис неверен?
$. mobile.changePage требует объекта DOM (для отображения страниц в одном файле HTML с использованием синтаксиса хэша), а не только для строки. Таким образом, правильный синтаксис для данного примера:
$.mobile.changePage($("#xxx"));
Это должно сработать!
Надеюсь, что это поможет
Ответ 3
$.mobile.changePage($("#page2"));
- правильный способ изменения, между которым div является видимой страницей.
Если вы используете
$.mobile.changePage("#page2");
DOM будет перезагружен, и все события ondocumentready будут запущены.
Ответ 4
Нет, это правильный синтаксис $.mobile.changePage("#page2");
или $.mobile.changePage( "about/us.html");
, см. Api
Ответ 5
Сначала вы проверяете начальный и конечный тег div-блока bcoz, если какой-либо тэг отсутствует, переход страницы невозможен.
После этого используйте следующий код
$.mobile.changePage("#page2");
Ответ 6
function signin() {
alert('singin button has been clicked');
$.ajax({
type: 'POST',
url: 'http://localhost:8080/json/login',
dataType: "json",
headers: {'Authorization':'Basic '+ btoa('abc' + ':' + '12345')},
contentType: 'application/json',
data:loginFormToJSON(),
success: function(data, textStatus, jqXHR)
{
if(data.token !="ErrorID-11000"){
alert('login successfully');
//document.location.href = "accountinfo.html";
//document.getElementById("loginBtn").replace="accountinfo.html";
$.mobile.changePage("accountinfo.html");
}
else{
alert('userid password did not match');
}
},
error: function(jqXHR, textStatus, errorThrown){
alert('login error:'+errorThrown + textStatus);
}
});
}
Из приведенного выше кода я нахожусь на странице входа и перехожу на страницу учетных записей при успешном входе в систему, это работает с JQuery mobile 1.4.
Надеюсь, что это поможет.