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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не знаю что делать, может кто-нибудь будет давать задания 
:(
    Опции темы
Рыжий
Дата 6.6.2005, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

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



Тема в разделе PHP идет с большим успехом, предлагаю организовать и в JS smile
Хочу изучить Java Script, может поможете? Давайте задания, мы будем писать скрипты и т.д.
Пока что у меня знания базовые, начнем с чего-нибедь легкого, постепенно поднимаясь и совершенствуясь smile Ну вы меня поняли smile
Жду вопрос №1

М
 

Модератор Aliance: за каждое решение заданного мною вопроса буду ставить плюс тому, чье решение на мой вкус сочту наиболее правельным :thumbs-up


Это сообщение отредактировал(а) Aliance - 7.6.2005, 00:41
PM MAIL ICQ   Вверх
Aliance
Дата 6.6.2005, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Начнем с того, что половина знаний - это теория. ИМХО, лучшее обучение - с книжкой. Хорошую литературу мы уже обсуждали.
Затем, подумай, кто сюда будет писать: в большинстве своем новички, чтобы получить быстро и бесплатно нужный им скрипт. Но новички наврятли смогут разумно оценить сложность скрипта => он может вполне не попасть под категорию ‘легкий’, с коего ты решил начать.
Я не сторониик такой темы, т.к. вместо того, чтобы сделать упорядоченный раздел (вопрос-ответ) мы "сольем" несколько таких тем в одну (эту) => получится хаос.

Но раз ты так хочешь и пока эта тема будет жить, давай попробуем.

Напиши мне сценарий для rollover изображений.
Условия:
  • удобочитаемый вид кода
  • сценарий основан на стандартах W3C DOM
  • код работает в моделях IE & W3C DOM (совсестим с браузерами, минимум 5ой версии)

Так же каждая существенная строчка (т.е. строчку } не нужно) должна быть закомментирована - описание строчки.

Желаю удачи smile
PM MAIL WWW ICQ Skype   Вверх
Рыжий
Дата 6.6.2005, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

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



ну давай не будем топить корабль, который еще не вышел в море smile

Посмотри в разделе PHP эта тема довольно хорошо прижилась smile

Вот накатал немного, можешь глянуть на rollover:

Код

<html>

<head>
  <title></title>
<script language="JavaScript">
<!--
/* Всем привет! Вот ответ на вопрос №1 от Aliance:
   Во-первых указываем что сейчас пойдет JS код это я сделал выше.
   закоментируем весь мой код, для того чтоы Плохие браузеры (без поддержки JS) его не показывали.
*/
function rull_over()      //это я создал функцию =)
     {
          document.images[0].src='2.jpg';  /*
                                             Обращаемся к нашему рисунку,
                                             Т.К. он самый первый в появлении на странице,
                                             его индекс будет 0. Дальше пишем, что значение
                                             src нужно заменить на '2.jpg'
                                           */
     }
function roll_up()        //это я создаю вторую функцию =)
     {
          document.images[0].src='1.jpg';   //В принципе действия аналогичные функции Э1
     }
//-->
</script>

</head>
<body>
<img src="1.jpg" onmouseover="rull_over();" onmouseout="roll_up();">
<!-- ну а здесь я просто
     использую эти 2 функции по назначению. onmouseover - это событие, когда на картинку мы наводим
     мышкой, а onmouseout - когда мы забираем мышку.
     Если будут вопросы - пишите на PM =)))
-->
</body>

</html>


PS Aliance молодец, не стал сразу грузить smile
Добавлено @ 22:30
Цитата(Aliance @ 6.6.2005, 20:09)
ценарий основан на стандартах W3C DOM

А как можно проверить?? Я конечно извеняюсь но smile просто не сталкивался еще с этим.

Это сообщение отредактировал(а) PHP-Script - 6.6.2005, 22:28
PM MAIL ICQ   Вверх
Aliance
Дата 6.6.2005, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Хотелось бы функции, которые можно использовать при любом модернизации.

Подсказываю, если мне нужно так:
Код

<img src="test.jpg">
<img src="1.jpg" onmouseover="rull_over()" onmouseout="roll_up()">

То твоя функция не сработает как ожидалось smile
PM MAIL WWW ICQ Skype   Вверх
Рыжий
Дата 6.6.2005, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

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



не проблема, щас исправим smile
PM MAIL ICQ   Вверх
Aliance
Дата 6.6.2005, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Цитата(PHP @ 6.6.2005, 23:27)
А как можно проверить??

Т.е. использовать современные методы.
Скажем, вместо document.all[] - document.getElementById() и т.п.
http://www.w3.org
PM MAIL WWW ICQ Skype   Вверх
Рыжий
Дата 6.6.2005, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

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



Все - исправил, смотри:

Код

<html>

<head>
  <title></title>
<script language="JavaScript">
<!--
/* Всем привет! Вот ответ на вопрос №1 от Aliance:
   Во-первых указываем что сейчас пойдет JS код это я сделал выше.
   закоментируем весь мой код, для того чтоы Плохие браузеры (без поддержки JS) его не показывали.
*/
function rull_over(new_img)      //это я создал функцию =)
     {
          document.images[0].src=new_img;  /*
                                             Обращаемся к нашему рисунку,
                                             Т.К. он самый первый в появлении на странице,
                                             его индекс будет 0. Дальше пишем, что значение
                                             src нужно заменить на 'новый рисунок, который
                                             мы передаем в параметрах к функции
                                           */
     }
function roll_up(old_img)        //это я создаю вторую функцию =)
     {
          document.images[0].src=old_img;   //В принципе действия аналогичные функции №1
     }
//-->
</script>

</head>
<body>
<img src="1.jpg" onmouseover="rull_over('2.jpg');" onmouseout="roll_up('1.jpg');">
<!-- ну а здесь я просто
     использую эти 2 функции по назначению. onmouseover - это событие, когда на картинку мы наводим
     мышкой, а onmouseout - когда мы забираем мышку.
     Если будут вопросы - пишите на PM =)))
-->
</body>

</html>




PM MAIL ICQ   Вверх
Aliance
Дата 6.6.2005, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Не совсем понял. Сделай еще так:
вторым аргументом передай глобальную ссылку This - она укажет на объект. А потом меняй this.src = new_src.
Ведь document.images[0] - меняет src только у первой картинки, что не есть гут.
PM MAIL WWW ICQ Skype   Вверх
Opik
Дата 6.6.2005, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



А что, вроде неплохо, присоединюсь, мой вариант.
Код

<html>
 <head>
  <title>Rollover</title>
  <script type="text/javascript" language="javascript">
  <!--
      // Первый аргумент - ID объекта
      // Второй аргумент - новый "сорс" картинки.
      function set_over(object, new_src)
      {
           // Делаем указатель на объект
           var el = document.getElementById(object);
           // Присваеваем новый "сорс" у картинки.
           el.src = new_src;
      }
   // --> 
  </script>
</head>
<body>
<img src="6.jpg" />
<br />
<img src="6.jpg" id="1" onmouseover="set_over(this.id, 'elf.gif')" onmouseout="set_over(this.id, '6.jpg')"/>
</body>
</html>

Альтернативный вариант, определенно заслуживающий внимания.
Код

<img src="image.gif" name="myImage"  defaultSrc="image.gif" selectedSrc="image-s.gif" onMouseOut="this.src = this.getAttribute('defaultSrc');" onMouseOver="this.src = this.getAttribute('selectedSrc');">

Однако стандарт XHTML его считает неправильным.

Исправил со всеми поправками, для дальнейшего просмотра.

Это сообщение отредактировал(а) Opik - 7.6.2005, 00:58
PM MAIL Skype   Вверх
Aliance
Дата 6.6.2005, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Цитата(Opr @ 7.6.2005, 00:30)
Однако как тут со стандартами - не знаю.

XHTML не прокатит.

Вариант Opr намного лучше.
Теперь, думаю, все. Вот минусы последнего (лучшего) варианта:
  • нет предзагрузки картинок
  • переменныя el объявлена как глобальная

PM MAIL WWW ICQ Skype   Вверх
Opik
Дата 6.6.2005, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Aliance
Цитата
переменныя el объявлена как глобальная

а как правильно?
Код

      function set_over(object, new_src)
      {
           // Делаем указатель на объект
           var el;
           el = document.getElementById(object);
           // Присваеваем новый "сорс" у картинки.
           el.src = new_src;
      }

?
PM MAIL Skype   Вверх
Aliance
Дата 6.6.2005, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Зачем же столько извратов smile Зри в корень:
Код

var el = document.getElementById(object);

PM MAIL WWW ICQ Skype   Вверх
Opik
Дата 6.6.2005, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Aliance
ок, хотел так... но всё же.. smile) значит правильно понял, что делаем далее?
PM MAIL Skype   Вверх
Aliance
Дата 6.6.2005, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Цитата(Opr @ 7.6.2005, 00:47)
что делаем далее

скажем, скрытие текста.
Задача:
иммется надпись Скрыть, и текст внизу. Оба в своих дивах. При нажатии на надпись - текст скривается, а надпись меняется на показать. При нажатии снова - все наоборот smile
Условия:
  • использование div`ов
  • использование методов W3C или других совместимых
  • быстрота работы

PM MAIL WWW ICQ Skype   Вверх
Opik
Дата 7.6.2005, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Aliance
Код

<html>
 <head>
  <title>Show/Hide</title>
  <script type="text/javascript" language="javascript">
  <!--
      // Первый аргумент - указатель на слой, который нужно СКРЫТЬ
      // Второй аргумент - указатель на слой, который нужно ПОКАЗАТЬ
      function shide(sobject, hobject)
      {
           // Делаем указатели на объекты
           var hel = document.getElementById(hobject);
           var sel = document.getElementById(sobject);
           // Показываем слой
           hel.style.display = '';
           // Скрываем слой
           sel.style.display = 'none';
      }
   // --> 
  </script>
</head>
<body>
<div id="show" >
<a href="#" onclick="shide('show', 'hide')">Показать</a>
1
</div>
<div id="hide" style="display: none">
<a href="#" onclick="shide('hide', 'show')">Скрыть</a>
2
</div>
</body>
</html>

Однако ещё можно через свойство visible вроде, только вот не помню, как точно, и что лучше тоже не знаю, и пользуясь случаем, спрашиваю, что лучше: display, или visible?

Это сообщение отредактировал(а) Opr - 7.6.2005, 00:11
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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