2015-09-03 86 views
-2

一直在玩Javascript和JQuery。一切工作正常,直到我添加了一個功能。沒有任何錯誤消息。我點擊按鈕,沒有任何反應。jQuery的JavaScript函數不起作用

function offOn() { 
    var ballCount = 1; 
    var ballsCount = 1; 
    for (var i = 0; i < 200; i++) { 
     $("<div class='grid-inner' id='" + i + "'></div>").appendTo(".grid"); 

     if (i == 45 || i == 100 || i == 82) { 
      $("<div class='ball' id='ball" + ballCount + "'></div>" + "<div class='arrow-down' id='arrow'></div>" + "<p class='ex'><b>" + ballsCount + "</b></p>").appendTo("#" + i + ""); 
      ballCount++; 
      ballsCount++; 
     } 
    } 
} 

而這裏的HTML

<button class="click" onclick="offOn()">START</button> 
+2

任何錯誤訊息? – Sirko

+0

你能解釋得更清楚嗎 –

+0

有你的代碼:http://jsfiddle.net/sherali/gcz4gwgw/2/。什麼問題 –

回答

0

我喜歡保持結構 & 行爲分開,使調試更容易做到。我改變了事情,它似乎爲我工作。

從HTML分離標記從行爲

HTML

<button class="click" id="btn">START</button> 
<div class="grid"></div> 

刪除onclick=onOff()添加使用jQuery給予它click處理程序按下按鈕時,負責該行爲。這使得事情變得更加簡潔,只需要看看你的jQuery,看看它是否是邏輯上的錯誤,而不是拼寫錯誤的函數名稱或標記問題。

jQuery的

$('#btn').click(function() { 
    var ballCount = 1; 
    var ballsCount = 1; 
    for (var i = 0; i < 200; i++) { 
    $("<div class='grid-inner' id='" + i + "'></div>").appendTo(".grid"); 

    if (i == 45 || i == 100 || i == 82) { 
     $("<div class='ball' id='ball" + ballCount + "'></div>" + "<div class='arrow-down' id='arrow'></div>" + "<p class='ex'><b>" + ballsCount + "</b></p>").appendTo("#" + i + ""); 
     ballCount++; 
     ballsCount++; 
    } 
    } 
}); 

http://jsfiddle.net/7tox109h/

+0

你修改了什麼?有什麼問題?沒有解釋的答案永遠不會像答案一樣好解釋。 – jfriend00

+0

對不起,這是我第一次使用這個網站。我不知道如何以及如何放置。但是,謝謝。這有幫助。 – Dan

+0

你能通過這個例子@Dan得到它嗎? – Rafa

-1

http://jsfiddle.net/hzqma690/

這對我的作品,我寫了SSS正好看到DIV呈現:

function offOn() { 
    var ballCount = 1; 
    var ballsCount = 1; 
    for (var i = 0; i < 200; i++) { 
     $(".grid").append("<div class='grid-inner' id='" + i + "'>sss</div>"); 

     if (i == 45 || i == 100 || i == 82) { 
      $('#'+i).append("<div class='ball' id='ball" + ballCount + "'></div>" + "<div class='arrow-down' id='arrow'></div>" + "<p class='ex'><b>" + ballsCount + "</b></p>") 
      ballCount++; 
      ballsCount++; 
     } 
    } 
} 

編輯: 我改變問題代碼使用append代替appendTo。

+0

你修復/更改了什麼?有什麼問題?沒有解釋的答案永遠不會像答案一樣好解釋。 – jfriend00

+0

http://jsfiddle.net/k6x9yuuk/8/ 由於某種原因,它只是在這裏不起作用。 只要我關閉它的功能,它工作正常。 – Dan

+0

@ jfriend00:只是做一些比較,它在.append()函數上。您使用了newdom.appendTo(oldDom),我更喜歡oldDom.append(newdom) – Jkike