我设法设置了一个脚本,可以更改表格中的字符并更改某些字符的颜色。我想要做的是在第二次点击时有不同的字符和颜色,但我不知道我会怎么做。
var isStart = false;
var letterString = "D0E916C0A8CED059359C02DARREN KORB - PALE WATCHERS.mp3E415AAB0014400E104B40DE96A0";
var letters = letterString.split('');
var currentLetter = 0;
var intervalID;
function changeLetter() {
$("#t-"+currentLetter).text(letters[currentLetter - 1]);
currentLetter +=1 ;
if (currentLetter == 23) {
$("#t-23").css("color", "#d49a9a");
}
if (currentLetter == 24) {
$("#t-24").css("color", "#d49a9a");
}
if (currentLetter == 25) {
$("#t-25").css("color", "#d49a9a");
}
if (currentLetter == 26) {
$("#t-26").css("color", "#d49a9a");
}
}
$(document).ready(function() {
var image = $('#content').click(function() {
if (!isStart) {
isStart = true;
intervalID = setInterval(changeLetter, 100);
}
});
});
答案 0 :(得分:0)
添加一个变量来计算点击次数,然后在点击功能中,增加并检查值以确定您要执行的操作。像这样:
var currentLetter = 0;
var intervalID;
var clickCount = 0; // <-- add this line
if (!isStart) {
clickCount++;
if (clickCount == 1) {
//do the first click stuff
}
if (clickCount == 2) {
//do the second click stuff
}
}
如果你想要处理两次以上的点击,你可能想要使用一个switch语句,默认情况下将是你没有专门处理的所有计数。
答案 1 :(得分:0)
使用jQuery的.one()
方法。它允许您捕获一次事件,然后您可以通过后续点击执行其他操作。
var image = $('#content').one('click' function() {
// doSomething
$(this).on('click', function() {
if (!isStart) {
isStart = true;
intervalID = setInterval(changeLetter, 100);
}
});
});