相关文章推荐
坏坏的香槟  ·  在RStudio ...·  昨天    · 
面冷心慈的西装  ·  使用PHPs ...·  昨天    · 
腹黑的铁板烧  ·  JavaScript ...·  昨天    · 
精明的大白菜  ·  200 OK - HTTP | MDN·  6 月前    · 
酷酷的作业本  ·  Xcode ...·  1 年前    · 
咆哮的梨子  ·  用 pyecharts ...·  1 年前    · 
當某個事件被觸發時就開始計時 直到停止觸發時執行某事件
觸發的事件:

song_html+='<td><a href="javascript:void(0)" onclick="request(\''+charA+'\',\''+charB+'\','+song_json[s].list_id+","+song_json[s].song_id+');return false;" title=>'+song_json[s].title+"</a></td>";
var x=0;
setInterval(function Clean()
	if($("#message").text()!=(""))
		x=x+1
	if(x==3)
		$("#message").html("");
,1000)

而我想在事件停止觸發(停止點擊)時開始計數x 當x到達3時就清除

我的想法是設個y當點擊時這個y就為0 停止點擊時就為1接著在觸發清除
可是我不知道要用啥函數判斷這個"停止點擊"

<div id="Msg"></div> <script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script> <script> var msg; function utaClick(dom) { msg = dom.text() + '點歌成功'; $('#Msg').text(msg); waitClick(); var clearMsg = function () { $('#Msg').text(''); var waitClick = _.debounce(clearMsg, 3000); $('.uta').click(function () { utaClick($(this)); </script> </body> </html>

我的想法是設個y當點擊時這個y就為0 停止點擊時就為1接著在觸發清除
可是我不知道要用啥函數判斷這個"停止點擊"

當某個事件被觸發時就開始計時,直到停止觸發時執行某事件:這跟"停止點擊"有啥關係?
你的"停止點擊"的定義是什麼?

你的問題在於說的不清不楚,不在問題本身

<title>link disabled test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="/scripts/lib/jquery.min.js"></script> <!-- CSS --> <style type="text/css"> .isDisabled { color: currentColor; cursor: not-allowed; opacity: 0.5; text-decoration: none; .message{ display: none; </style> <!-- Javascript --> <script language="javascript"> $(function () { var msgObj = $(".message"); window.request = function(obj, str, tag, a, index){ if(msgObj.is(":hidden")){ var thisObj = $(obj); thisObj.attr('class', 'isDisabled'); msgObj.show(); var x = 0; var stopInt = setInterval(function (){ x += 1; if(x > 3){ thisObj.removeClass('isDisabled'); msgObj.hide(); clearInterval(stopInt); }, 1000); return; console.log(index); </script> </head> <div class="message">start play</div> <a href="javascript:void(0)" onclick="request(this, '','SI',1,0);return false;" title="">SIDE_A</a> <a href="javascript:void(0)" onclick="request(this, '','SI',1,1);return false;" title="">SIDE_B</a> </body> </html> 觸發時就開始計時,那如果點了兩下,等於有兩次觸發停止,是重新計時,還是累計?
直到停止觸發時執行某事件,什麼情況是停止觸發,點擊時停止觸發?
流程和邏輯不清楚,無法實做是必然的,也沒說清楚執行的情境是什麼?
UI是怎麼操作的? 也沒附上操作的畫面,完全不知道你的用途是什麼?

觸發時就開始計時,那如果點了兩下,等於有兩次觸發停止,是重新計時,還是累計? 直到停止觸發時執行某事件,什麼情況是停止觸發,點擊時停止觸發? 流程和邏輯不清楚,無法實做是必然的,也沒說清楚執行的情境是什麼? UI是怎麼操作的? 也沒附上操作的畫面,完全不知道你的用途是什麼?