У меня есть JS файл, который связан с плагином Wordpress. Это плагин Quiz с таймером. Я применил кнопку паузы и возобновления, которые приостанавливают таймер, а также возобновляют таймер. Но есть проблемы с резюме.
Код кнопки возобновления похож на код функции запуска викторины, но разница в том, что функция возобновления занимает время приостановленного таймера. Но после нажатия кнопки возобновления проблемы возникают следующие проблемы:
Есть два похожих файла js. Я предоставляю, что легко понять.
Существенный js файл в демо имеет имена переменных. Поэтому я предоставил аналогичный JS файл.
когда вы открываете js файл gists url, следуйте строке №. 99, 1282 и 2013.
Во-первых, когда вы нажимаете "Ошибка возобновления таймера", появляется ошибка консоли в строке 242, h [с].home является неопределенной причиной для этого является то, что при нажатии функции паузы questionStart присваивается переменной C "undefined"
Используйте инструменты для разработчиков Chrome или firebug, чтобы понять, где все пошло не так.
И когда вы выбираете имена переменных, лучше выбрать имя. Реагировать содержимое переменной, а не просто "abc" для других, и для вас, когда вы забудете логику, будет легче понять.
Если вы хотите сохранить время выполнения действия паузы, используйте метод jquery data()
.
C.find("span").data('time',C.find("span").text());
//use this value to some variable to resume the time.
var resumeTime = C.find("span").data('time');
Вышеупомянутый метод data()
добавляет ключевой атрибут к элементу C
с именем "время".
var timer = null,
interval = 1000,
value = 300; //In seconds, for 5 mins
$("#start").click(function () {
if (timer !== null) return;
timer = setInterval(function () {
value--;
$("#input").text(Math.floor(value / 60) + ":" + parseInt(value % 60, 10));
}, interval);
this.value = "resume";
});
$("#pause").click(function () {
clearInterval(timer);
timer = null
});
Ошибка возникает из-за этой строки:
C.find("span").val()=C.find("span").textContent();
измените его с помощью кода ниже
C.find("span").val(C.find("span").textContent());
textContent()
недоступен для объектов jquery. Я думаю, что вы имеете в виду text()
. и даже val()
используется для текстовых полей и, следовательно, код jquery должен быть C.find("span").text(C.find("span").text());
но я не понял, что пытается сделать OP, снова добавив текст к тому же элементу ...: /