Javascript.RU

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

Я знаю html и css - надеюсь, на -4; сталкиваясь по ходу дела с js поднатыркался количественно настраивать скрипты под свои нужды, но вот суть, "душу" языка никак не могу ухватить; может у меня совершенно апрограммистские мозги.Теперь по сути:
html-файл с <img src="1.jpg" onclick="this.src=(this.src=='1.jpg')?'2.jpg':'1.j pg'" /> лежит у меня на локальной машине в одной папке с jpgами - как тут прописать абсолютный путь?

Я так понимаю задачу:

<img src="1.jpg" onclick="this.src='2.jpg'" onclick="вот как сюда впихнуть отмену предыдущего (onclick="this.src='2.jpg'") события и возврат к отображению исходного 1.jpg" />???
Ответить с цитированием
  #12 (permalink)  
Старый 01.02.2010, 20:49
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

<img src="1.jpg" onclick="this.src=(/\/1\.jpg$/i.test(this.src))?'2.jpg':'1.jpg'" />
Ответить с цитированием
  #13 (permalink)  
Старый 01.02.2010, 21:50
Новичок на форуме
Отправить личное сообщение для duron Посмотреть профиль Найти все сообщения от duron
 
Регистрация: 01.02.2010
Сообщений: 8

Спасибо огромное, PeaceCoder, работает! (Профессор - он и есть профессор!)
А можно попросить объяснить происходящее? Посимвольно, если не трудно.
Ответить с цитированием
  #14 (permalink)  
Старый 01.02.2010, 22:17
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

я заменил проверку пути на регулярное выражение
/\/1\.jpg$/i
, которое просто проверяет тоже this.src=='1.jpg', только что бы оно было не точно равно, а необходимое содержалось в конце пути, т.к. он будет чтото типа http://ваш.домен/путь/к/странице/1.jpg, выделенную часть я и проверял
Ответить с цитированием
  #15 (permalink)  
Старый 01.02.2010, 22:47
Новичок на форуме
Отправить личное сообщение для duron Посмотреть профиль Найти все сообщения от duron
 
Регистрация: 01.02.2010
Сообщений: 8

Что-то забрезжило: собака покоилась в правильном указании пути. Общение с компетентными людьми продвигает быстрее, чем чтение самых удачных книг, - лишь бы это было не в тягость этим самым компетентным людям.

Это я к тому, что что в варианте, который надо было усовершенствовать (согласитесь, мелькание, связанное с onmouseover-onmouseout может раздражать пользователя, ибо действие это ему малоподконтрольно - всё происходит как бы само собой, ибо просто движение мышью чисто психологически не воспринимается за элемент управления), так вот, - в варианте

<img src="1.jpg" onmouseover="this.src='2.jpg'" onmouseout="this.src='1.jpg'" />

было ещё весьма необходимое дополнение:

<h4 id="one">A</h4>
<img src="1.jpg" onmouseover="this.src='2.jpg'; document.getElementById('one').innerHTML='B" onmouseout="this.src='1.jpg';document.getElementBy Id('one').innerHTML='A'" />

Можно ли "прикрутить" этот document.getElementById('one').innerHTML='..."

к варианту

<img src="1.jpg" onclick="this.src=(/\/1\.jpg$/i.test(this.src))?'2.jpg':'1.jpg'" />

P.S. Кстати, а что дают slashs /\? Я их для интереса убрал, а всё равно всё работает
Ответить с цитированием
  #16 (permalink)  
Старый 01.02.2010, 23:07
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от duron
P.S. Кстати, а что дают slashs /\? Я их для интереса убрал, а всё равно всё работает
это уже подробно надо читать что такое регулярные выражение и их синтаксис. в частности первый и последний / обозначают границы регулярного выражения, а внутри \/ и \. обозначают экранирование, которое будет сравниваться как / и . ,т.к. если не экранировать то эти символы будут считаться завершением рег.выражения и любой симовол.
А на счет прикрутить не получится. т.к. смена у тебя идет на 2 разных действия мыши, и соединить в одно к сожалению, не выйдет.
Ответить с цитированием
  #17 (permalink)  
Старый 02.02.2010, 07:11
Новичок на форуме
Отправить личное сообщение для duron Посмотреть профиль Найти все сообщения от duron
 
Регистрация: 01.02.2010
Сообщений: 8

А вот ещё похожий и тоже рабочий пример:

<img src="1.jpg" onclick="this.src=(this.src.match(/1\.jpg$/))? 2.jpg':'1.jpg';" />

т.е. я так понимаю - один и тот же результат в js можно получать различным путями.

А что даёт двоеточие в конце записи - между '2.jpg':'1.jpg' ?
Ответить с цитированием
  #18 (permalink)  
Старый 02.02.2010, 14:49
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Выше я описал что такое знак ? и дал ссылку. прочтите и все поймете.
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #19 (permalink)  
Старый 02.02.2010, 15:10
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Мысли вслух:
Как то некошерно такую кодинку запихивать в теги вообще то .

Последний раз редактировалось micscr, 02.02.2010 в 15:32.
Ответить с цитированием
  #20 (permalink)  
Старый 05.02.2010, 14:46
Любитель
Отправить личное сообщение для JsLoveR Посмотреть профиль Найти все сообщения от JsLoveR
 
Регистрация: 16.12.2009
Сообщений: 422

micscr,
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Предполагается наличие объекта... не могу понять где косяк mp3moto Internet Explorer 3 18.06.2009 04:34
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 16:07
Где ошибка? gogi Общие вопросы Javascript 8 04.02.2009 12:21
Где ошибка не пойму Алексей Общие вопросы Javascript 8 30.09.2008 14:57
не могу понять в чём ошибка scuter Общие вопросы Javascript 2 28.08.2008 15:22