Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.05.2010, 18:23
Новичок на форуме
Отправить личное сообщение для dreckin Посмотреть профиль Найти все сообщения от dreckin
 
Регистрация: 01.05.2010
Сообщений: 7

И хотелос бы чуть разобраться в коде чтоб понять и больше не возвращатся к теме.

Итак:
var R1 = document.getElementsByName("R1")[0], R2 = document.getElementsByName("R2")[0];
Определяет переменные R1 и R2 ?

R1.onclick = R2.onclick = function () { /* Не понял
        var other = this == R1 ? R2 : R1; /* Не понял
        if (this.checked) {       /* Если выбран один radio то другой выбрать нельзя
            other.checked = false;
        }
    };


Будьте так добры обьясните пожалуйста.
Ответить с цитированием
  #12 (permalink)  
Старый 01.05.2010, 18:28
Новичок на форуме
Отправить личное сообщение для dreckin Посмотреть профиль Найти все сообщения от dreckin
 
Регистрация: 01.05.2010
Сообщений: 7

Сообщение от Gvozd Посмотреть сообщение
на крайняк, чтобы сохранить смысл учебного задания(я правильно понял?), задайте им имена R[1] и R[2]
Да поняли правильно а куда задать?
var R1 = document.getElementsByName("R1")[0], R2 = document.getElementsByName("R2")[0];
здесь?
Ответить с цитированием
  #13 (permalink)  
Старый 01.05.2010, 18:40
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

R1.onclick = R2.onclick = function () { /* создается анонимная функция, и задается в качестве обработчика щелчка для обоих элементов
        var other = this == R1 ? R2 : R1; /* гуглите тернарный оператор.по сути краткая запись для else-if, в данном случае
        if (this.checked) {       /* Если выбран один radio то другой выбрать нельзя
            other.checked = false;
        }
    };

Сообщение от dreckin
Да поняли правильно а куда задать?
var R1 = document.getElementsByName("R1")[0], R2 = document.getElementsByName("R2")[0]; здесь?
здесь
<input type="radio" name="R[1]" value="one">
<input type="radio" name="R[2]" value="two">

и здесь
var R1 = document.getElementsByName("R[1]")[0], R2 = document.getElementsByName("R[2]")[0];
Ответить с цитированием
  #14 (permalink)  
Старый 01.05.2010, 18:47
Новичок на форуме
Отправить личное сообщение для dreckin Посмотреть профиль Найти все сообщения от dreckin
 
Регистрация: 01.05.2010
Сообщений: 7

Спасибо, вроде понял.
Скачал еще книжок с этого сайта. Почитаю
Ответить с цитированием
  #15 (permalink)  
Старый 01.05.2010, 22:00
Новичок на форуме
Отправить личное сообщение для Arom Посмотреть профиль Найти все сообщения от Arom
 
Регистрация: 01.05.2010
Сообщений: 2

А разве хорошо код javascript прямо перед </body> размещать?
Страница еще не успевает загрузиться, пользователь уже начинает щелкать на кнопки, а они не срабатывают...
Ответить с цитированием
  #16 (permalink)  
Старый 01.05.2010, 22:20
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Arom
Страница еще не успевает загрузиться, пользователь уже начинает щелкать на кнопки, а они не срабатывают...
Так как скрипты грузятся не асинхронно, то разница во времени между срабатывание скрипта, подключенного перед </body>, и запущенного по DOMContentLoaded, будет незаметна для пользователя, а window.onload иногда приходится слишком долго ждать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск