2016-08-12 75 views
-4

我遇到了jQuery問題。我在我的應用程序中有一個菜單頁面,當我點擊一個頁面時,我想要顯示某些div並隱藏一些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 mobile腳本標籤後面的body部分的底部顯示它。只要應用程序從主頁加載,我放在底部的代碼就可以工作。如果我去其他頁面之一,並刷新我有同樣的問題。 –

0

好的,我能弄清楚一個解決方案。我仍然不知道爲什麼問題首先出現的,但我改變了我的功能,這一點:

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

所以,謝謝大家誰做嘲笑的評論和下投票,而不是提供解決方案,您的投入對我的項目是無價的。 ;)