2014-07-14 55 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