2010-01-16 142 views
1

我一直試圖在我的瀏覽器操作彈出窗口中顯示並隱藏選項(可能會切換),但沒有成功。 下面的代碼是我彈出的身體使用jQuery顯示在Chrome擴展程序彈出窗口中隱藏div

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="popup.js"></script> 
<div class="show"> 
    <a href="#" class="showcontent">Show</a> 
    <a href="#" class="hidecontent">Hide</a> 
    <div class="somecontent"> 
     <p>some content<br /> 
      <a href="#">Link</a><br /> 
     </p> 
    </div> 
</div> 

的popup.js文件包含,除其他事項外:

$(document).ready(function(){ 
    $(".somecontent").hide(); 
    $(".showcontent").click(function(){ 
     $(".somecontent").show(); 
    }); 

    $(".hidecontent").click(function(){ 
     $(".somecontent").hide(); 
    }); 
}); 

我認爲,問題是,Chrome的API是有我的彈出問題.js文件。正文出現在我的彈出窗口中,但「顯示」和「隱藏」操作不起作用。任何想法如何使這項工作,如果沒有,另一種方式來獲得相同的結果(即:點擊切換)?

編輯:從JavaScript控制檯,我得到這個錯誤的錯誤:

Uncaught TypeError: Cannot call method 'ready' of null

指向使用準備功能上面的代碼行。

+0

你有沒有解決這個問題?我有類似的問題,但通過固定'

0

既然您既沒有從您的點擊處理程序返回false,也沒有調用preventDefault(),頁面將在點擊時重新加載並且.somecontent將再次隱藏。更改您的JS爲以下內容:

$(document).ready(function(){ 
    $(".somecontent").hide(); 
    $(".showcontent").click(function(){ 
     $(".somecontent").show(); return false; 
    }); 

    $(".hidecontent").click(function(){ 
     $(".somecontent").hide(); return false; 
    }); 
}); 
+0

雖然這確實修復了一些錯誤,但我留下了這一個: 未捕獲TypeError:無法調用方法'就緒'null 這是從jQuery $(document).ready(function() {...在我的popup.js代碼的開頭 乾杯。 – Guibone 2010-01-16 20:49:25

0

該錯誤表示jQuery未被正確加載。檢查以確保它名爲jquery.js並存儲在根文件夾中。

0

你的代碼適合我。正如其他人說,你聽到的錯誤聽起來像jquery.js文件沒有被發現/加載。 這是一個遠射,但如果您在Windows上,請檢查jquery.js文件的屬性,並查看第一個選項卡上是否有解除阻止按鈕。點擊它。

0

因爲看起來這個老問題還沒有回答,所以我想我會試試我的運氣。

您是否嘗試過再次下載jquery.js(文件可能已損壞)。另外,如果你仍然有興趣解決它,你可以張貼你的src在某處供我們閱讀(如http://jsfiddle.net/

11

也可能是jQuery與頁面中的其他內容衝突使用$()函數。 (我自己就遇到了這個問題。)如果是這種情況,將$()調用更改爲jQuery()即可解決問題。

+0

哈哈!很高興聽到它的幫助,喬恩。:) – 2011-09-21 14:00:16

+0

Tnx爲這個答案這真的幫了我! – DownDown 2011-09-25 19:54:01

+1

這是我的問題,所以謝謝:d – jwbensley 2012-01-17 09:49:40

相關問題