Что это все о
Сейчас я работаю над сценарием для смайликов на костре чата службы, поскольку они не имеют функции смайликов. Прямо сейчас он запускает смайлик очень медленно, так как он использует setInterval, который должен проверять когда-либо 200 миллисекунд, если в чате есть новое сообщение. Я делаю это, делая две переменные «a» и «b» с var a,b;
. Итак, тогда в первом набореInterval я время его с миллисекунды. Внутри этого я просто передаю переменную «а» значение HTML чата. Затем во втором setInterval (200) я даю переменной «b» значение HTML тоже, но это другое время, поэтому теперь я проверяю HTML в операторе if
, а если он отличается, я запускаю функцию для изменения символа к смайлику. Я сделал это, чтобы улучшить производительность. Прежде чем он будет проверять смайлики, даже если никто в чате Campfire не написал что-то, поэтому нет необходимости проверять смайлики.setInterval не работает правильно
Это полная функция:
var a, b;
setInterval(function() {
a = $('#chat').html();
console.warn("Chat HTML has been Scanned");
}, 150);
var t = "0";
setInterval(function() {
b = $('#chat').html();
console.warn("Chat got scanned for Change in html.");
if (emoOn == true) {
if (t === $('#num12345').text()) {
$(".participants").after('<div id="emote"><h3><span class="room_actions"><a href="javascript:void(0)" class="on" style="font-weight:bold;">On</a> | <a href="javascript:void(0)" class="off" style="cursor:pointer;">Off</a></span>Emoticons</h3></div>');
$('#num12345').text("111")
}
if (a !== b) {
turnOn();
console.log("CHANGE")
} else {
turnOn("off");
}
}
}, 200);
Проблема
Как вы можете видеть в приведенном выше коде я бегу 3 консолей. В консолях я ожидаю, что предупреждение «Чат HTML было отсканировано», а затем «Чат получил проверку на изменение в html». в этом порядке на все время. Но вместо того, чтобы «чат HTML был отсканирован», предупреждающие ботинки в два раза, он просто не работает, как будто я имидж его работаю.
И когда новое сообщение показывает, что оно должно войти в журнал «Изменить», но большую часть времени это не так, и я думаю, что это проблема setIntervals. Похоже, что они не правильные сроки. Но я действительно не хочу сказать, что JavaScript вызывает эту проблему, но я не знаю, что еще может быть. Также я использую Chrome.
@undefined ОП не сказал, что ему это не нравится. А также 'setInterval()' не является человеком. – Nathan
@Nathan, sry, я шутил, конечно, это не человек – undefined
@undefined О, хорошо, все хорошо :) – Nathan