2016-08-12 4 views
-4

У меня проблема с jQuery. У меня есть страница меню в моем приложении, и когда я нажимаю на страницу, я хочу, чтобы некоторые div были показаны, а некоторые были скрыты. Когда я нажимаю на страницу, следующий скриптjquery show/hide при загрузке страницы

$(document).ready(function() { 
    $("#sp").hide(); 
    $("#fea").hide(); 
    $("#lib").show(); 
}); 

только работает, если я перезагружаю страницу.

Если документ уже загружен, когда я снова нажимаю на меню и перехожу на другую страницу, эта же функция не работает на этой странице, хотя у меня есть одна и та же функция между тегами скриптов на нескольких страницах.

Таким образом, в любом случае любая загрузка страницы сначала применяется. Все остальные страницы должны быть обновлены до применения функции. Все мои страницы загружаются со страницы меню.

Кто-нибудь знает, как применять функцию каждый раз, когда я загружаю страницу с моей страницы меню?

Я также попытался:

$(document).on("pageshow", "#pageID", function() { 
    $("#sp").hide(); 
    $("#fea").hide(); 
    $("#lib").show(); 
}); 

и у меня такая же проблема, когда функция применяется только тогда, когда я обновить.

+0

Предоставить код – Anokrize

ответ

1

Почему вы не использовали css для этого? Он будет работать, даже если javascript будет отключен в настройках браузера.

+0

Это будет обернуто телефонным звонком, поэтому я не беспокоюсь о том, что javascript отключен. Я просто подумал, прежде чем отказаться от jquery для этого и использовать CSS, я мог бы получить хорошее объяснение, почему это происходит в моем коде. Так никто не знает, как это сделать, используя jquery? У меня есть шаблон для всех моих страниц, и я хочу, чтобы определенные divs были сначала спрятаны, поэтому они появляются только при нажатии кнопки. Что с голосами? –

+0

Вы добавили свой javascript-код в раздел главы или внизу? Вы должны добавить его в нижнюю часть тела. –

+0

У меня есть это в нижней части секции тела сразу после моих jquery и jquery мобильных тегов скрипта. Код, который я использую внизу, работает до тех пор, пока приложение загружается с домашней страницы. Если я перейду на одну из других страниц и нажмите «Обновить», у меня будут те же проблемы. –

0

Хорошо, я смог найти решение. Я до сих пор не знаю, почему эта проблема происходит в первую очередь, но я изменил свою функцию следующим образом:

\t $('body').on('pageinit', function() { 
 
\t \t \t $("#sp").show(); 
 
\t \t \t $("#fea").hide(); 
 
\t \t \t $("#lib").hide(); 
 
\t \t });

Так что спасибо всем, кто сделал ехидные замечания и вниз проголосовали вместо предоставляя решение, ваш вклад был неоценим для моего проекта. ;)

Смежные вопросы