setInterval не работает и onkeypress
setInterval не фурычит! чего??
И onkeypress работает! Хотя если писать onkeydown или onkeyup то работает норм все! document.onkeypress = setInterval(function keyIsDown(event) { //***W*** event = event || window.event; if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { if (event.keyCode == 87) { if (sText2 == 0){ xmlHttp.open("GET", "controls.php?keyW=1", true); xmlHttp.send(null); document.kartinka.src = '2' + '.gif'; } } } } }, 1000); Будьте любезны помочь.:) |
о боже мой!
это вообще ужас, и странно что он работает хоть в каком-то виде вы пытаетесь в качестве обработчика события выставить результат выполнения setInterval(который не является ф-цией), и она выполняется один раз:при назначении обработчика дальше лучше: вы проверяете состоянии уже существующего объекта xmlHttp(интересно откуда он взялся и запустился до первого вызова ф-ции keyIsDown?), и в случае если он успешен, пытаетесь проверить объект события на предмет нажатой клавиши(интересно откуда при вызове keyIsDown в его объекте событие может взяться код нажатой клавиши? подумайте над этим внимательно), и проверяется неизвестная переменная(назначение которой в коде далеко не ясно) ------------------ в общем, искренне не понимаю как этот код может хоть какую-то видимость работы демонстрировать, и что вы вообще пытались им сделать пожалуйста прочитайте внимательно цикл статей на сайте, чтобы упорядочнить ваши знания JS сейчас у вас каша в голове,и ваш код мягко говоря кажется творчеством жителей желтого дома. |
:D ну полный код в предидущей теме)помогите пожалуйста оптимизировать код..:blink:
Вот код весь: Это код html странички <script language="JavaScript" type="text/javascript" src="saver.js"></script> <html> <head> <title>123</title> <meta http-equiv="Content-type:text/xml" charset="cp1251"> <script language="JavaScript" type="text/javascript" src="saver.js"></script> </head> <body onLoad='sendData()'> <center> id: <input type="text" id="txtCustomerId" value="1"> <div id="txtCustomerInfo"></div> </center> </body> </html> Это saver.js var xmlHttp = createXmlHttpRequestObject(); function createXmlHttpRequestObject() { var xmlHttp; if(window.ActiveXObject){ try{ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch (e){ xmlHttp = false; } }else{ try { xmlHttp = new XMLHttpRequest(); }catch (e){ xmlHttp = false; } } if (!xmlHttp){ alert("Не создает xml объект."); }else{ return xmlHttp; } }; //ПОСЫЛКА ЗАПРОСА ПО ID function sendData(){ if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0){ name = encodeURIComponent(document.getElementById("txtCustomerId").value); xmlHttp.open("GET", "customers.php?id=" + name, true); xmlHttp.onreadystatechange = readData; xmlHttp.send(null); }else{ setTimeout('sendData()', 200); } }; //ЧТЕНИЕ РЕЗУЛЬТАТА function displayCustomerInfo(sText) { sElem = document.getElementById("txtCustomerInfo"); sElem.innerHTML = sText; } function readData() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { xmlResponse = xmlHttp.responseXML; xmlDocumentElement = xmlResponse.documentElement; helloMessage = xmlDocumentElement.firstChild.data; displayCustomerInfo(xmlHttp.responseText); setTimeout('sendData()', 200); }else{ alert("Не получен ответ сервера: " + xmlHttp.statusText); } } }; //УПРАВЛЕНИЕ document.onkeydown = function keyIsDown(event) { //*W* event = event || window.event; if (event.keyCode == 87) { xmlHttp.open("GET", "controls.php?keyW=1", true); xmlHttp.onreadystatechange = readData; xmlHttp.send(null); } }; ПХП управления controls.php require_once "config.php"; $keysW = $_GET['keyW']; $linkj = mysql_connect($host,$user,$pass); @mysql_select_db($database); $mybase = mysql_query("SELECT * FROM customers WHERE id='1'"); $dbcon = mysql_fetch_array($mybase); $x = $dbcon['x']; $y = $dbcon['y']; if($keysW==1){ $suy = $y - 2; mysql_query("UPDATE customers SET y='".$suy."' WHERE id='1'"); $keysW=0; } ПХП обмен данных с базой customers.php header('Content-Type: text/xml; charset=windows-1251'); echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; echo '<response>'; require_once "config.php"; $sId = $_GET['id']; $link = mysql_connect($host,$user,$pass) or die(mysql_error()); mysql_query("SET NAMES windows-1251"); $query = mysql_real_escape_string("SELECT * FROM customers WHERE id=$sId"); @mysql_select_db($database) or ($info = mysql_error()); if($result = mysql_query($query) and mysql_num_rows($result) > 0) { $values = mysql_fetch_array($result,MYSQL_ASSOC); $x = $values['x']; $y = $values['y']; $info = '<img src="1.gif" alt="" id="player" style="position: absolute; left:'.$x.'; top:'.$y.'"></img>'; } else { $info = "Не найден id!"; } echo $info; echo '</response>'; |
Гвоздь помоги пожалуйста) поправь код
|
честно говоря, предыдущую тему желания разбирать не было
потому что как правило такое количество кода, которое вы выложили, свидетельствует либо о том, что аффтор нифига не шарит JS, и: 1)либо не смог выделить существенную часть кода(извините, но разгребать постороннее говно кроме тематичного кода -- нету желания) как правило это код -- чей-то копипаст 2)либо аффтор сам составил код, и он ужасен.и пропадает желание с ним работать судя по всему ваш случай-второй без денежного сопроваждения, у меня никакого желания с вашим кодом работать-нету, после того, что я увидел так что изучайте основы, как я сказал, либо готовьте кошелек |
хм, печально...хорош форум) ну а денег сколько?
|
setInterval('document.write("slovo")', 1000) ЧЕГО НЕ РАБОТАЕТ??? setInterval('alert("прошла секунда")', 1000) работает! а вывод в документ не работает!!!:blink: :blink: :blink: :blink: :blink: чего?
|
document.write после загрузки страницы не работает так, как вы ожидаете (считайте, что вообще не работает).
|
а как мне зделать так чтобы добавлялось слово на страничку каждую секунду ?? почему не работает...как этот же код сделать чтобы работал?
|
|
Часовой пояс GMT +3, время: 18:51. |