Ознакомьтесь с документацией о событиях для jQuery Mobile: http://jquerymobile.com/demos/1.0rc1/docs/api/events.html.
Вместо того, чтобы запускать код на document.ready
, вы хотите запустить его на pageshow
.
Изменение:
$(function() {
$('#foo').counter({
start: 1000,
end: 400000,
time: 1,
step: 50,
callback: function() {
$("#foo").html("400000");
}
});
});
Кому:
$(document).delegate('#about', 'pageshow', function() {
$('#foo').counter({
start: 1000,
end: 400000,
time: 1,
step: 50,
callback: function() {
$("#foo").html("400000");
}
});
});
Я не использовал плагин "counter", поэтому я не уверен, как это сделать, но вы можете остановить счетчик, когда пользователь переходит на другую страницу, для этого просто привязайте любой код, который останавливает счетчик, pagehide
событие:
$(document).delegate('#about', 'pagehide', function () {
//code to stop counter goes here
});
A ПРИМЕЧАНИЕ. В приведенных выше примерах я использую функцию .delegate()
, которая при использовании на объекте $(document)
действует как функция .live()
:
$(document).delegate('#about', 'event-name', function () {});
аналогично $(#about).live('event-name', function () {});
, однако .delegate()
работает более эффективно. Документация для делегата здесь: http://api.jquery.com/delegate/