2016-08-12 18 views
-4

jQueryに問題があります。私は自分のアプリにメニューページを持っています。ページをクリックすると、特定のdivが表示され、一部が非表示になります。ページをクリックすると、次のスクリプトが表示されますjQueryページロード時に表示/非表示

$(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

これはphonegapでラップされるので、私はJavaScriptが無効になることを心配していません。私はこれについてjqueryを放棄してCSSを使用する前に、なぜ私のコードでこれが起こっているのかを調べることにしました。だから誰もjqueryを使ってこれを行う方法を知っている?私はすべてのページのテンプレートを用意しています。特定のdivを最初に非表示にして、ボタンをクリックしたときにのみ表示するようにします。ダウン投票で何がありますか? –

+0

Javascriptコードを頭の部分に追加しましたか?あなたはボディセクションの下部に追加する必要があります。 –

+0

jqueryとjqueryのモバイルスクリプトタグの直後に、bodyセクションの一番下にあります。一番下に置いたコードは、アプリケーションがホームページから読み込まれている限り動作します。私が他のページの一つに行ってリフレッシュした場合、私は同じ問題を抱えています。 –

0

わかりました。私は解決策を見つけ出すことができました。私はまだ問題が最初の場所で発生した理由わからないが、私はこれに私の機能を変更:だから悪意に満ちた発言をした全員にと投票ダウンの代わりに、あなたに感謝

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

ソリューションを提供すると、あなたのインプットは私のプロジェクトにとって非常に貴重でした。 ;)

関連する問題