2015-06-09 76 views
1

我有一個按鈕;當我點擊按鈕我想我的函數獲得一個隨機圖像(使用顏色暫時)我知道我的函數中的代碼工作,但是當我嘗試從.click事件調用該函數該函數似乎不工作任何幫助將不勝感激。試圖從點擊事件調用我的功能JS/jQuery

function getRandomImage() { 
 
    if ($("#imageContainer").css("background-color", "black") == $("#imageContainer").css("background-color", "black")) { 
 
    $("#imageContainer").css("background-color", "red"); 
 
    } 
 
} 
 

 
$("#mainButton").click(function(){ 
 
getRandomImage(); 
 
});

我知道我失去了一些東西/做某事關閉,請幫助:)

+0

什麼是控制檯日誌說?任何錯誤? – Jite

回答

0

請嘗試寫裏面的document.ready()

$(document).ready(function(){ 
     $("#mainButton").click(function(){ 
      getRandomImage(); 
     }); 
    }); 

Ouside的document.ready()點擊事件,你應該寫功能

function getRandomImage() { 
    if ($("#imageContainer").css("background-color", "black") == $("#imageContainer").css("background-color", "black")) { 
    $("#imageContainer").css("background-color", "red"); 
    } 
} 

否則你可以直接從調用函數按鈕。

<input type="button" onClick="getRandomImage()" id="mainButton" /> 
+0

非常這是有道理的 – VanHartman

1

你需要確保你的jQuery代碼被包裹在文檔中的準備,像這樣:

<script> 
    function getRandomImage() { 
     if ($("#imageContainer").css("background-color", "black") == $("#imageContainer").css("background-color", "black")) { 
     $("#imageContainer").css("background-color", "red"); 
     } 
    } 

    $(document).ready(function() { 
     $("#mainButton").click(function(){ 
      getRandomImage(); 
     }); 
    }); 
</script> 

此外,因爲你沒有顯示HTML,你需要確保該ID屬性設置:

<input type="button" id="mainButton" /> 

jQuery選擇(如您的#mainButton)立即搜索文檔模型找到附上事件的元素。如果您在文檔加載之前調用jQuery代碼,它可能找不到該元素,因爲它尚不存在。因此,您可以使用準備好的文檔來確保在所有元素加載到DOM後運行jQuery代碼。

+0

非常有意義 – VanHartman

0

你可以試試這個:

function getRandomImage() { 
    if ($("#imageContainer").css("background-color") == "rgb(0, 0, 0)") { 
     $("#imageContainer").css("background-color", "red"); 
     } 
    } 

$(document).ready(function() { 
    $("#mainButton").click(function(){ 
     getRandomImage(); 
    }); 
}); 
0

謝謝大家了,我的大腦失效這個工作最適合我,但再次感謝大家!

$(document).ready(function(){ 
 
     $("#mainButton").click(function(){ 
 
      getRandomImage(); 
 
     }); 
 
    }); 
 
Ouside document.ready() you should write the function 
 

 
function getRandomImage() { 
 
    if ($("#imageContainer").css("background-color", "black") == $("#imageContainer").css("background-color", "black")) { 
 
    $("#imageContainer").css("background-color", "red"); 
 
    } 
 
} 
 
Else you can directly call the function from the button. 
 

 
<input type="button" onClick="getRandomImage()" id="mainButton" />