Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Бесконечное зацикливание 
:(
    Опции темы
popov654
Дата 16.1.2009, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 9.1.2009

Репутация: нет
Всего: нет



Я вот тут написал на JavaScript игру сапёр - а она не работает. Браузер сначала зависает на полминуты, а потом выдаёт сообщение, что скрипт замедляет работу браузера и его нужно остановить. Пробовал нажимать НЕТ пять-шесть раз, не отрабатывает. Похоже, где-то бесконечное зацикливание, но я не знаю, где именно. Не могли бы вы посмотреть? smile

Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Сапёр</title>
<style type="text/css">
<!--
.style1 {font-family: Arial, Helvetica, sans-serif}
-->
</style>
</head>
<script language="JavaScript" type="text/javascript">
Код

function init() {
  var arr=new Array(81)
  var a=81
  var i=0;
  while (i<10) {
    var n=Math.round(Math.random * 81 - 0.5)
    if (arr[n]=='X') continue
    else {
      arr[n]='X'
      i++}
  }
  for (i=0; i<81; i++) {
    if (arr[i]!='X') {
      var h=i+1;
      var j=0;
      var k=0;
      if (Math.floor(h/9)>0 && (h%9 > 1 || h%9 == 0)) {
      j=h-10;
      if (arr[j]=='X') k++;
      }
      if (Math.floor(h/9)>0) {
      j=h-9;
      if (arr[j]=='X') k++;
      }
      if (Math.floor(h/9)>0 && h%9 != 0) {
      j=h-8;
      if (arr[j]=='X') k++;
      }
      if (h%9 > 1 || h%9 == 0) {
      j=h-1;
      if (arr[j]=='X') k++;
      }
      if (h%9 != 0) {
      j=h+1;
      if (arr[j]=='X') k++;
      }
      if (Math.floor(h/9)<8 && (h%9 > 1 || h%9 == 0)) {
      j=h+8;
      if (arr[j]=='X') k++;
      }
      if (Math.floor(h/9)<8) {
      j=h+9;
      if (arr[j]=='X') k++;
      }
      if (Math.floor(h/9)<8 && h%9 != 0) {
      j=h+10;
      if (arr[j]=='X') k++;
      }
      arr[i]=k;
    }
  }
}

function click(obj) {
  var str=obj.name.slice(6)
  var i=parseInt(str)-1
  if (arr[i]==0) obj.style.bgColor='#00CC33'
  else obj.innerHTML=arr[i]
  if (arr[i]!='X') {
    a--;
    if (a<=10) {
      document.getElementById('win').style.display='block'
      document.getElementById('reload').style.display='block'
    }
    return true
  }
  else {
    document.getElementById('lose').style.display='block'
    document.getElementById('reload').style.display='block'
    for (i=1;i<=81;i++) {
      var name='button' + i
      document.form1.name.disabled=true
      if (arr[i]=='X') {
        document.form1.name.innerHTML=arr[i]
        if (document.form1.name.style.bgColor!='#FFFF33') document.form1.name.style.bgColor='#FF0000'
      }
    }
  }
}

function protect(obj) {
  if (obj.disabled==true) {
    obj.disabled=false
    obj.style.bgColor='#FFFF33'
  }
  else {
    obj.disabled=true
    obj.style.bgColor='#CCCCCC'
  }
}

Код

</script>
<style>
#main {
       position: absolute;
       top: 113px;
       left: 324px;
       width: 211px;
       height: 284px;
}
#win, #lose {
      position: inherit;
      bottom: 10%;
      display: none;
}
#reload {
      position: inherit;
      bottom: 2%;
      display: none;
}

.style2 {color: #00CC00}
.style3 {color: #FF0000}
.btn {
    height: 20px;
    width: 20px;
    margin: 1px;
    border: 1px solid #000000;
    background-color: #CCCCCC;
    font-family: Arial, Helvetica, sans-serif;
    color: #CCCCCC;
}
</style>
<body onload="init()">
<div id="main">
  <form id="form1" name="form1" method="post" action="">
    <button name="button1"  id="button1" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button2"  id="button2" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button3"  id="button3" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button4"  id="button4" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button5"  id="button5" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button6"  id="button6" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button7"  id="button7" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button8"  id="button8" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button9"  id="button9" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button10"  id="button10" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button11"  id="button11" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button12"  id="button12" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button13"  id="button13" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button14"  id="button14" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button15"  id="button15" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button16"  id="button16" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button17"  id="button17" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button18"  id="button18" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button19"  id="button19" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button20"  id="button20" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button21"  id="button21" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button22"  id="button22" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button23"  id="button23" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button24"  id="button24" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button25"  id="button25" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button26"  id="button26" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button27"  id="button27" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button28"  id="button28" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button29"  id="button29" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button30"  id="button30" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button31"  id="button31" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button32"  id="button32" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button33"  id="button33" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button34"  id="button34" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
    <button name="button35"  id="button35" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button36"  id="button36" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button37"  id="button37" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button38"  id="button38" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button39"  id="button39" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button40"  id="button40" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button41"  id="button41" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button42"  id="button42" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button43"  id="button43" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button44"  id="button44" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button45"  id="button45" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button46"  id="button46" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button47"  id="button47" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button48"  id="button48" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button49"  id="button49" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button50"  id="button50" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button51"  id="button51" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button52"  id="button52" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button53"  id="button53" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button54"  id="button54" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button55"  id="button55" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button56"  id="button56" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button57"  id="button57" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button58"  id="button58" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button59"  id="button59" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button60"  id="button60" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button61"  id="button61" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button62"  id="button62" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button63"  id="button63" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button64"  id="button64" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button65"  id="button65" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button66"  id="button66" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button67"  id="button67" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button68"  id="button68" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button69"  id="button69" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button70"  id="button70" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button71"  id="button71" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button72"  id="button72" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button73"  id="button73" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button74"  id="button74" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button75"  id="button75" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button76"  id="button76" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button77"  id="button77" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button78"  id="button78" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button79"  id="button79" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button80"  id="button80" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  <button name="button81"  id="button81" class="btn" value=" " onclick="click(this)" oncontextmenu="protect(this)"></button>
  </form>
  <div id="win">
    <div align="center" class="style1 style2">Вы выиграли!
      <div id="lose">
        <div align="center" class="style1 style3">Вы проиграли! </div>
      </div>
      <div id="reload">
      <div align="center" class="style1"><a href="#" onclick="document.location.refresh()">Начать заново</a></div>
      </div>
</div>
  </div>
</div>
</body>
</html>


Это сообщение отредактировал(а) popov654 - 16.1.2009, 17:02
PM MAIL   Вверх
ksnk
Дата 16.1.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Math.round - это не вызов функции, а получение указателя на нее, а вот Math.round() - вызов функции.

Еще, чтобы не писать 81 строку с батонами когда-то был придуман JavaScript  smile 
Код

  <form id="form1" name="form1" method="post" action="">
<script >
for(var i=1;i<=81;i++){
  document.write('<button name="button'+i+'"  id="button'+i+'" class="btn" value=" " onclick="click(this)" '+ 
    ' oncontextmenu="protect(this)"></button> \n');
}
</script>  
</form>


Это я не про то, что прием хороший, но как-то страшно смотреть на 81 строку



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
IDVsbruck
Дата 17.1.2009, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 7
Всего: 22



Ужасть ...
Может, лучше сделать таблицу 9х9 и для кроссбраузерности поместить в каждую див с заданными размерами? Тогда каждому диву можно задать один и тот же обработчик, который по номеру ячейки и строки определит свое положение и его можно будет идентефицировать и обработать.
А столько кнопок - это как-то несерьезно ...
PM MAIL   Вверх
ksnk
Дата 17.1.2009, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Цитата

Может, лучше сделать таблицу 9х9 и для кроссбраузерности поместить в каждую див с заданными размерами? Тогда каждому диву можно задать один и тот же обработчик, который по номеру ячейки и строки определит свое положение и его можно будет идентефицировать и обработать.
А столько кнопок - это как-то несерьезно ... 

А чем этот вариант "серёзнее" представленного? Те-же 81 ячейка (дивы) и те-же установщики событий  smile . Разве что не придется мучительно сбрасывать-сбрасывать стили батонов, чтобы одинаково выглядело в FF и IE.

Хотя, если заменить баттоны на дивы со стилем float:left (добавляем свойство в стили) все останется примерно так-же, на дивы точно так-же навешиваются обработчики событий, однако выглядеть будет значительно кроссбраузернее. 
Да и форма там нафик не нужна...

Код

<style>
#main {
       position: absolute;
       top: 113px;
       left: 324px;
       width: 231px; /* размер +20 пикс */
       height: 284px;
}
...
#board div { /* это вместо .btn */
    float:left;
    height: 20px;
    width: 20px;
    padding:0px;
    margin: 1px;
    border: 1px solid #000000;
    background-color: #CCCCCC;
    font-family: Arial, Helvetica, sans-serif;
    color: #CCCCCC;
}
</style>
...

<div id="board">
<script >
for(var i=1;i<=81;i++){
  document.write('<div id="button'+i+'" onclick="click(this)"  oncontextmenu="protect(this)"></div> \n');
}
</script>  
</div>


Так достигается относительно здоровый минимализм в html разметке

Добавлено @ 19:42
Ну и везде нужно работу именем заменить на работу с id

Добавлено @ 19:45
popov654, Тoлько что заметил...

Когда я говорил про Math.round, я имел ввиде Math.random в 6-й строке



Это сообщение отредактировал(а) ksnk - 17.1.2009, 19:47


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
popov654
Дата 17.1.2009, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 9.1.2009

Репутация: нет
Всего: нет



Ну я исправил ошибку с random, и виснуть перестало. Ещё я исправил лажу с цветом текста на кнопке: он был таким же, как цвет фона. Но всё равно ничего не работает. Ни в IE, ни в FF. В чём просчёт?..  smile 

Это сообщение отредактировал(а) popov654 - 17.1.2009, 22:23
PM MAIL   Вверх
popov654
Дата 17.1.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 9.1.2009

Репутация: нет
Всего: нет



Цитата

Может, лучше сделать таблицу 9х9 и для кроссбраузерности поместить в каждую див с заданными размерами? Тогда каждому диву можно задать один и тот же обработчик, который по номеру ячейки и строки определит свое положение и его можно будет идентефицировать и обработать.
А столько кнопок - это как-то несерьезно ... 

Не уверен, что это хорошая идея. Была у меня программа на PHP - классный журнал (для оценок). И всё бы хорошо, но пришло мне в голову в очередную версию добавить кнопку полной очистки таблицы. А было там вот что: огроменная таблица, в каждой ячейке по текстовому полю. Вроде всё просто: получить указатель на поле, value=пустая строка... Так вот, ни какими ухищрениями мне этого добиться не удалось...просто из-за высокого уровня вложенности (form->table->tr->td->input) никак было не получить указатель на объект. Ни getElementById(), ни getElementsByTagName(), ни прямое обращение через форму не помогли. То есть ошибок не выдаёт, но результат нулевой (ничего не чистит). Так что с тех пор я таблиц избегаю. Может, я тогда в чём-то был неправ?
P.S. Пришлось тогда очистку средствами PHP делать...
PM MAIL   Вверх
ksnk
Дата 18.1.2009, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Вообще-то процесс называется отладка. Проще всего поставить FireFox, к нему плагин FireBug и получится вполне полноценный отладчик для JavaScript. В принципе полезно, конечно поставить еще и отладчик из MsOffice для отладки IE специфичных багов, но это пока не очень актуально smile

А так arr - используется как глобальный массив. А объявлен он в функции init...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
popov654
Дата 18.1.2009, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 9.1.2009

Репутация: нет
Всего: нет



А где его объявить? До первой функции? Сразу после <script>?
PM MAIL   Вверх
ksnk
Дата 18.1.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Ну да. А попробовать? там еще есть переменные, которые должны по сути быть глобальными...

imho, продолжение сколь-нибудь конструктивного разговора возможно только после установки JavaScript отладчика. Иначе, "удаленная отладка" в форуме затянется надолго...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
popov654
Дата 20.1.2009, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 9.1.2009

Репутация: нет
Всего: нет



Да я уж попробовал, прежде чем это писать. Не помогло. На всякий случай спросил. А FireBug у меня действительно не было. Сейчас вот установил. Он что, будет мне писать, в чём мои ошибки?  smile

Добавлено через 7 минут и 5 секунд
Чёрт, он какой-то непонятный. Как с ним вообще работать? Простите, никогда не работал с отладчиками.
PM MAIL   Вверх
Aliance
Дата 21.1.2009, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Цитата(popov654 @  20.1.2009,  20:49 Найти цитируемый пост)
Чёрт, он какой-то непонятный. Как с ним вообще работать? Простите, никогда не работал с отладчиками. 

нажимаешь в правом нижнем углу на жучка, и потом в левой верхней части открывшегося меню нажимаешь Inspect.
Выбираешь таб Консоль, активируешь нужные элементы и радуешься показу ошибок.
PM MAIL WWW ICQ Skype   Вверх
popov654
Дата 21.1.2009, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 9.1.2009

Репутация: нет
Всего: нет



Ну сделал. Так то-то и оно, что похоже ошибок нет. Вот только непонятно: он про мои батоны пишет, что стиль не определён. А он отлично задан. Бред какой-то... Кстати мне моя интуиция подсказывает (да и FireBug тоже), что программная часть функционирует нормально. Массив arr[] заполняется прекрасно, так как я хотел.
Выходит, дело в кнопках! Он не хочет с ними ничего делать: ни цвет фона менять, ни цвет текста, ни надпись на кнопке. Единственное, что, как мне показалось, срабатывает - это disable. А кому нужна игра, которая чего-то там вычисляет, а виду не показывает? Мне всё же нужно, чтобы графический интерфейс работал...
Да и надпись о проигрыше что-то не вылазит, даже если все кнопки перетыкать.
PM MAIL   Вверх
Aliance
Дата 22.1.2009, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Код

// так не правильно
//document.form1.name.style.bgColor
// так правильно
document.form1.name.style.backgroundColor


И стили для изменяемых элементов должны быть изначально установлены (в html или css).
PM MAIL WWW ICQ Skype   Вверх
popov654
Дата 23.1.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 9.1.2009

Репутация: нет
Всего: нет



Стили установлены, это раз. А во-вторых насчёт bg. Сначала у меня было backgroundColor, и не работало. Тогда я и исправил. А в третьих, у меня до этого был скрипт, в котором bgColor 100% работало. Ну не знаю, может, это дурной тон так писать, как я пишу...но только я теперь совсем запутался. Всё вроде есть, стили в CSS определены, а не работает. И потом, ну хорошо, а innerHTML она почему не переписывает? Там вроде всё правильно.
Вообще, хотелось бы научиться работать с объектами: всякими дивами, кнопками, полями ввода... А то всё время мне с этим катастрофически не везёт. И как умные люди крутые сайты на javascript делают? Может, есть какой-то секрет?..
 smile   smile 

Это сообщение отредактировал(а) popov654 - 23.1.2009, 17:22
PM MAIL   Вверх
Aliance
Дата 26.1.2009, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Цитата(popov654 @  23.1.2009,  18:22 Найти цитируемый пост)
А во-вторых насчёт bg. Сначала у меня было backgroundColor, и не работало. Тогда я и исправил. А в третьих, у меня до этого был скрипт, в котором bgColor 100% работало. Ну не знаю, может, это дурной тон так писать, как я пишу...но только я теперь совсем запутался. 

element.style.backgroundColor - это изменение CSS-стиля, это правильно и работает во всех браузерах и входит в стандарт XHTML
element.bgColor - это изменение HTML аттрибута. Работает как я думаю только в ИЕ и не входит в стандарт XHTML

Далее, click() - это метод-обработчик события onclick, так что так функцию называть нельзя.
PM MAIL WWW ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0999 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.