2014-07-14 123 views
0

我是一個初學jQuery,我試圖創建一個按鈕,動態更改CSS中定義的顏色取決於它現在是什麼顏色(只需在藍色/紅色之間切換),也可以更改按鈕上的文字。 .draggable()部分執行得很好,第一個和最後一個console.log也是如此,所以除了click事件處理程序內的所有部分都可以工作......但是爲什麼?JQuery代碼執行partwise

相關的html代碼:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Meine Website</title> 
    <meta charset="utf-8"> 
    <script 
      src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" 
      type="text/javascript"> 
    </script> 
    <script 
      src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" 
      type="text/javascript"> 
    </script> 
    <script src="home_jquery.js"></script> 
    <script src="home_javascript.js"></script> 
    <link rel="stylesheet" type="text/css" href="home_style_blau.css"> 

</head> 
<body> 
    <input type="button" id="farbwechsel_button" value="Rot" /> 
/* rest of html (taschenrechner_box, etc.) */ 
</body> 

這裏的jQuery的一部分:

var blau = true; 

$(document).ready(function() { 
    $('#taschenrechner_box').draggable(); 


    console.log("test1"); 
    $('#farbwechsel_button').click(function() { 
     console.log("test2"); 


     if (blau == true) { 
      console.log("blau = " + blau); 
      $('body').css({"background-color": "8b0000"}); 
      $('#farbwechsel_button').value = "Blau"; 
      blau = false; 
     } 
     else { 
      console.log("blau = " + blau); 
      $('body').css({"background-color": "lightsteelblue"}); 
      $('#farbwechsel_button').value = "Rot"; 
      blau = true; 
     } 
     console.log("test3"); 

    }) 
    console.log("test4"); 
}); 

非常感謝你提前:)

回答

2

在HTML您有:

<input type="button" id="farbwechsel_button" value="Rot" /> 

但在你的JS你FER到

$('#farbwechel_button').click(function() { 

注意遺忘在你的JS 小號。所以JS應該是:

$('#farbwechsel_button').click(function() { 

編輯:你已經忘了小號在人的請示按鈕。不要忘記隨處添加。您在最後的console.log()函數之前也忘記了;

編輯2:這是一個Fiddle與一個工作的例子。這幾乎是自我解釋。在這種情況下,您最好應該使用按下按鈕時切換的類。

+0

謝謝!檢查了這樣的東西一百次,但我猜想第二雙眼睛不會傷害:/仍然不工作,但... ...? – firala

+1

'click'函數中的代碼仍然沒有執行?你的控制檯是否有錯誤?或者什麼都沒有? – ZiNNED

+0

控制檯日誌現在被執行,但CSS和按鈕的值都不會改變... – firala