2016-12-04 20 views
-2

我想製作一個按鈕,我可以在一段時間內用「true/false」來表示一個按鈕。我想做一個閃爍的按鈕。我怎麼能在Javascript中做到這一點?閃爍的HTML表單按鈕廣播Javascript true/false

我想是這樣的:

<td colspan="1" class="button" tabindex="1"> 
     <input type="radio" tabindex="-1"> 
    </td> 

__

setTimeout(function() { 
    $("*[tabindex='1']").find('input').get(0).checked = true; 

http://www.w3schools.com/html/tryit.asp?filename=tryhtml_form_radio (此按鈕)

+0

哪裏是你的'setTimeout'功能 – TheValyreanGroup

回答

3

此檢查/取消選中按鈕,隨機,你當然可以改變背後的邏輯當按鈕應該打開或關閉時,但它顯示如何檢查和取消單選按鈕本地(沒有JQuery)與添加或刪除單選按鈕上的checked屬性。

var btn = document.getElementById("rad"); 
 
setInterval(function(){ 
 
    var rnd = Math.random(); 
 
    console.log(rnd); 
 
    rnd > .5 ? btn.setAttribute("checked", "checked") : btn.removeAttribute("checked"); 
 
}, 500);
<input id="rad" type="radio">

+0

如何設置這些在某一時間的休息嗎?我想用更多的這些「收音機」按鈕製作一個小動畫。對不起,如果這是一個愚蠢的問題,只是新的編碼(: – Danisk

+0

代碼末尾的500代表產生隨機數的函數調用之間的時間間隔,以毫秒爲單位,所以500代表每半秒鐘一次。 –

+0

@ScottMarcus,最後一個快速問題,如果我想在頁面上有更多內容?[link](https://jsfiddle.net/Danisk2010/8sbt5oua/4/)例如,當我想要02/05/03全部閃爍 – Danisk

0

如果你把<td>元素中<table>標記您的代碼將工作。

如果<td>位於表格元素之外,則會將其刪除,因此您無法通過搜索父td來訪問單選按鈕。

爲了使按鈕閃動,嘗試具有功能自行復位:

function buttonOnAfterDelay() 
{ 
    var $radioButton = $("*[tabindex='1']").find('input').get(0); 
    if ($radioButton.checked) 
     $radioButton.checked = false; 
    else $radioButton.checked = true; 
    setTimeout(function() {buttonOnAfterDelay()}, 1000); 
} 

buttonOnAfterDelay(); 
+1

setTimeout中的函數引用後面不應該有括號,並且引用應該是第一個參數中唯一的東西,你的語法只有在函數在被調用時需要一個傳遞給它的參數。此外,您可以從代碼中刪除if then結構,並簡單地將單選按鈕的checked屬性切換爲!checked,因爲該屬性存儲布爾值 –