2014-02-28 142 views
0

我的javascript代碼可以處理我的html文件,但是當我將它移動到它自己的JavaScript文件時,它不起作用。我檢查過,這不是文件位置的問題。它不適用於任何瀏覽器。請幫忙。謝謝。Javascript支持HTML但不支持javascript文件

我的HTML調用文件:

<script type="text/javascript" src="js/click-dropdown.js"></script> 

這裏是我的javascript代碼:

$(document).ready(function() { 
$('.prospectus-click').click(function() { 

     //REMOVE THE ON CLASS FROM ALL BUTTONS 
     //$('.prospectus-form > div').parent().removeClass('on'); 
     $('.prospectus-arrow').removeClass('prospectus-arrow-up'); 

     //NO MATTER WHAT WE CLOSE ALL OPEN SLIDES 
     $('.table-wrap').slideUp('fast'); 

     //IF THE NEXT SLIDE WASN'T OPEN THEN OPEN IT 
     if($('.prospectus-click').next().is(':hidden') == true) { 
        //ADD THE IMGON CLASS TO THE IMAGE 
      //$(this).find('.accimge').addClass('imgon'); 
      //ADD THE ON CLASS TO THE BUTTON 
      $('.prospectus-arrow').addClass('prospectus-arrow-up'); 
      //OPEN THE SLIDE 
      $('.prospectus-click').next().slideDown('medium'); 
     } 

    }); 



    /*** REMOVE IF MOUSEOVER IS NOT REQUIRED ***/ 

    $('.prospectus-click').mouseover(function() { 
     $(this).parent().addClass('over'); 

    }).mouseout(function() { 
     $(this).parent().removeClass('over');          
    }); 

    $('.table-wrap').hide(); 


$('.live-consult').click(function() {  
     //NO MATTER WHAT WE CLOSE ALL OPEN SLIDES 
     $('.live-consult-div').slideUp('fast'); 

     //IF THE NEXT SLIDE WASN'T OPEN THEN OPEN IT 
     if($('.live-consult').next().is(':hidden') == true) { 
      $('.live-consult').next().slideDown('medium'); 
     } 

    }); 



    /*** REMOVE IF MOUSEOVER IS NOT REQUIRED ***/ 

    $('.live-consult').mouseover(function() { 
     $(this).parent().addClass('over'); 

    }).mouseout(function() { 
     $(this).parent().removeClass('over');          
    }); 

    $('.live-consult-div').hide(); 
}); 
+3

檢查您的瀏覽器控制檯是否有javascript錯誤,並提供有關錯誤性質的更多詳細信息... –

+4

確保您在jQuery腳本之後引用腳本文件。 – Nevett

+0

你實際上是否在任何地方加載jQuery?正如@Nevett所說的,你必須在加載這個腳本之前加載jQuery。 –

回答

0

JavaScript文件已被使用jQuery庫編寫。爲了這個工作,你必須在腳本之前加載jQuery庫。

你可以從這裏http://jquery.com/

下載jQuery的我也建議對您使用縮小的文件,讓你的腳本加載在你的HTML頁面的結束標記之前的低性能。

<script type="text/javascript" src="js/jquery-min-1.11.0.js"></script> 
<script type="text/javascript" src="js/click-dropdown.js"></script> 
+0

嗨,你能告訴我爲什麼在腳本的末尾加載腳本有助於提高性能,謝謝 – user3365353

+0

嗨,沒問題,基本上當你的瀏覽器加載頁面將加載項目從頂部到底部,所以當它在頂部遇到你的Javascript時,它會在它到達任何要在頁面主體中呈現的HTML之前先讀取和加載這些文件。既然你想先加載你的頁面,然後再擔心javascript,那麼在底部的html標記之後加載它們會更有意義。欲瞭解更多信息檢查此答案http://stackoverflow.com/questions/14547062/javascript-placed-at-the-end-of-the-document-so-the-pages-load-faster-true –

0

由於Nevett和David提到懷疑您可能在包含jquery庫之前包含/加載您的'click-dropdown.js'文件。但如果您不確定您的腳本包含哪個訂單,那麼簡單的檢測方法是檢查您的開發控制檯是否出現錯誤「ReferenceError:$ is not defined」或者只是簡單地寫入

alert('my $是'+ typeof $);

作爲腳本的第一行。如果alert沒有定義,那麼在jquery後包含你的腳本。如果警報說功能,然後請描述什麼是你面臨的確切問題;任何錯誤,警告。