2013-02-10 45 views
0

我有這個Javascript代碼,在我的HTML中工作得很好。當我將它移動到main.js時,它突然停止工作。爲什麼Javascript代碼在將它從html移動到外部js文件後無法工作?

聲明:我對jQuery和Javascript很新,很抱歉,如果它真的很明顯。

var infoVisible = false, 
buyVisible = false; 

function closeAllProductInfo() { 
    $('#info').css({visibility: 'hidden'}); 
    $('#buy').css({visibility: 'hidden'}); 
    $('#options.info a').removeClass('active'); 
    $('#options.buy a').removeClass('active'); 
    infoVisible = false; 
    buyVisible = false; 
    imagesVisible = false; 
} 

function openProductInfo() { 
    closeAllProductInfo(); 
    $('#info').css({visibility: 'visible', opacity: 0}); 
    $('#info').animate({opacity: 1}, 250); 
    $('#options.info a').addClass('active'); 
    infoVisible = true; 
} 

function openProductBuy() { 
    closeAllProductInfo(); 
    $('#buy').css({visibility: 'visible', opacity: 0}); 
    $('#buy').animate({opacity: 1}, 250); 
    $('#options.buy a').addClass('active'); 
    buyVisible = true; 
} 

$('.info').click(function() { 
    if (infoVisible) { 
     $('#info').animate({opacity: 0}, 250, function() { 
      closeAllProductInfo(); 
     }); 
    } else { 
     openProductInfo(); 
    } 

    return false; 
}); 

$('.buy').click(function() { 
    if (!$(this).hasClass('in-active')) { 
     if (buyVisible) { 
      $('#buy').animate({opacity: 0}, 250, function() { 
       closeAllProductInfo(); 
      }); 
     } 
     else { 
      openProductBuy(); 
     } 
    } 

    return false; 
}); 

$('#info').click(function() { 
    if (infoVisible) { 
     $('#info').animate({opacity:0}, 250, function() { 
      closeAllProductInfo(); 
     }); 
    } 
}); 

$('#buy').click(function() { 
    if (!$(this).hasClass('in-active')) { 
     if (buyVisible) { 
      $('#buy').animate({opacity:0}, 250, function() { 
       closeAllProductInfo(); 
      }); 
     } 
    } 
}); 
+0

什麼是整合這個文件,和jQuery HTML代碼? – YoannM 2013-02-10 19:44:28

+0

即使它與您的實際代碼沒有任何關係,請正確格式化它。這很難閱讀。同時向我們展示如何包含文件。 – 2013-02-10 19:45:10

+0

它以什麼方式停止工作?你如何在html中包含你的代碼? – 2013-02-10 19:45:14

回答

0

可能是加載腳本時,因爲它使用加載文檔後執行,但現在執行。你是否在你的HTML文件的結尾加載main.js或者開始?使用它來得到它來執行後的文件已準備就緒:

jQuery(document).ready(function($) { 
    // Code using $ as usual goes here. 
}); 
+0

這到底是什麼。謝謝! – novicePrgrmr 2013-02-10 19:47:22

+0

我覺得自己像一個白癡問這個..... – novicePrgrmr 2013-02-10 19:48:39

+0

沒問題,只是將它標記爲幫助下一個有同樣問題的人的答案。 – 2013-02-10 19:51:00

0

嘗試包中的所有代碼:

$(document).ready(function(){ 
    // Your code in here. 
}); 
相關問題