Если вы используете data-position="fixed"
панели инструментов, то вы должны быть в состоянии добавить пару data-attributes
в тег, чтобы «переключая» на панели инструментов:
<div data-role="footer" data-tap-toggle="true" data-transition="fade">
...
</div>
Документация: http://jquerymobile.com/demos/1.1.0/docs/toolbars/bars-fixed-options.html
Это будет работать для кранов , для прокрутки я считаю, вы должны использовать свой собственный обработчик события:
//when a user starts to scroll, hide the toolbar(s)
$(window).bind('scrollstart', function() {
$.mobile.activePage.children("[data-position='fixed']").fixedtoolbar('hide');
//when a user stops a scroll, show the toolbar(s)
}).bind('scrollstop', function() {
$.mobile.activePage.children("[data-position='fixed']").fixedtoolbar('show');
});
Вот демо: http://jsfiddle.net/BCTpK/
После создания демо я понял, что установка тайм-аут, так что scrollstart
и scrollstop
события не сгореть слишком часто является хорошей идеей:
var timer = null;
//when a user starts to scroll, hide the toolbar(s)
$(window).bind('scrollstart', function() {
clearTimeout(timer);
timer = setTimeout(function() {
$.mobile.activePage.children("[data-position='fixed']").fixedtoolbar('hide');
}, 100);
//when a user stops a scroll, show the toolbar(s)
}).bind('scrollstop', function() {
clearTimeout(timer);
timer = setTimeout(function() {
$.mobile.activePage.children("[data-position='fixed']").fixedtoolbar('show');
}, 100);
});
Этот обработчик событий $ (window) .bind входит в функции 'pageshow', 'pageinit', 'mobileinit' или document.ready? – cusejuice
Его можно запустить в глобальном масштабе. 'window' всегда доступно, поэтому просто запустите этот код после загрузки jQuery Core. – Jasper
Как насчет Headroom.js? См. Http://stackoverflow.com/questions/23880524/jquery-mobile-fixed-toolbars-with-headroom-js-disappear-reappear-on-scroll –