Не медведь со мной ... Я не разработчик, поэтому я уверен, что не пошел об этом наилучшим образом, но, m надеясь, что мы сможем работать с тем, что у меня есть, чтобы заставить его работать правильно ...Uncaught ReferenceError: функция не определена (анонимная функция)
У меня есть комбинация js и php, которые работают вместе, чтобы нарисовать пары изображений на экране, а затем захватить ключ нажимает для выбора левого или правого изображения (используя «c» и «m» или стрелку влево и «стрелку вправо»).
Кажется, что он отлично работает в Safari, Firefox и IE, но не работает последовательно в Chrome (иногда это происходит, иногда это не так).
Я только что посмотрел на инспектора в Chrome во время работы, и обнаружил, что две функции были не найдены:
Uncaught ReferenceError: imgChoice is not defined (anonymous function)
Uncaught ReferenceError: stopChoice is not defined (anonymous function)
В моем поиске ответа, ближайший я получил то, что ему может быть, Chrome слишком быстро обрабатывает функцию flashImages() и не попадает в два других.
Есть ли способ, чтобы я мог исправить это? Возможно, интегрируйте функции imgChoice и stopChoice в функцию flashImages?
Вот существующие функции:
function imgChoice(imgPair)
{
var imgDataR = '<input type="hidden" name="'+imgPair+'[<?php echo $_POST['topicNumber']; ?>]" value="r" />';
var imgDataL = '<input type="hidden" name="'+imgPair+'[<?php echo $_POST['topicNumber']; ?>]" value="l" />';
var noData = '<?php $noData = 1; ?>';
$(document).keydown(function(event) {
if (event.keyCode == 67 || event.keyCode == 37) {
document.getElementById(imgPair+'Data').innerHTML = imgDataL;
$(document).unbind('keydown');
}
if (event.keyCode == 77 || event.keyCode == 39) {
document.getElementById(imgPair+'Data').innerHTML = imgDataR;
$(document).unbind('keydown');
}
});
//div = document.getElementById(imgPair);
}
function stopChoice(imgPair)
{
$(document).unbind('keydown');
}
function flashImages()
{
i=500;
//$('#startTopic').fadeOut(500);
setTimeout("document.getElementById('fullpd').style.cursor='none';",50);
setTimeout("document.getElementById('fullpd').style.background='#464646';",500);
for(x=1;x<=imgPairs.length-1;x++)
{
setTimeout("document.getElementById('clickSound').play();",i+2000);
setTimeout('document.getElementById("'+imgPairs[x]+'").style.display="block";',i+3500)
setTimeout('imgChoice("'+imgPairs[x]+'");',i+3495)
setTimeout('document.getElementById("'+imgPairs[x]+'").style.display="none";',i+4000)
setTimeout('stopChoice("'+imgPairs[x]+'");',i+6000)
i=i+4000;
}
setTimeout("document.getElementById('fullpd').style.background='#eaeaea';",i+1000)
setTimeout("document.getElementById('fullpd').style.cursor='default';",i)
setTimeout(function() {$('#endTopic').fadeIn(1000);},i+1000);
}
Вы должны показать больше контекста - проблема не кажется, там – Alexander