Я заметил, что с помощью приложения для веб-просмотра, которое я создал, на более медленных устройствах мобильные панели jQuery, которые я создал на своем сайте, будут ненадолго отображаться внизу тела при первой загрузке веб-просмотра, но затем исчезают при полной загрузке.
Мне было интересно, есть ли способ с помощью jQuery mobile предотвратить это.
Если в jQuery mobile нет способа сделать это, моя идея состоит в том, чтобы изначально назначить панель с display: none
HTML
<div data-role="panel" id="this_panel" data-display="overlay" style="display: none">
А затем с помощью jQuery примените display: block
, когда кнопка, используемая для отображения панели, нажимается как
jQuery
$(document).on('click', '#panel_button', function() {
$('#this_panel').show();
})
ОБНОВЛЕНИЕ
Так что я думаю, что нашел довольно хорошее решение, чтобы сохранить его как можно более чистым во время загрузки страницы.Так как панели работают от <li>
списков.Когда страница изначально загружается и работает медленнее, вы видите панель html вначале в нижней части страницы, а затем ненадолго CSS применяется к ней, а затем скрывает ее.
То, что я сделал, это поместил контейнер панели как <div data-role="panel" id="tickets_cog_panel" data-display="overlay"></div>
, но затем с помощью jQuery я загружаю html через $('#tickets_cog_panel').html('html here')
.Поскольку jQuery должен ждать загрузки до полной загрузки контента, он загружается намного чище.