Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

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


Тема выпуска: Id как универсальный способ обращения к элементам

Вопрос #1

Здраствуйте, не знал в какой раздел написать эту тему, поскольку мой вопрос касается применения слоёв, CSS, JS. Так как идея находится на стадии размммышления то кода нет. А вопрос такой, каким образом можно сделать появление "элемента" на странице (в данном случае интересует - слоя с текстом) при нажатии на ссылку, которая находится выше этого "элемента". И соответственно его исчезновение при нажатии либо на сам элемент, либо на ссылку его вызвавшую? Вопрос второй, как сделать так, чтобы при нажатии на изображение - окно содержащее данное изображение закрывалось?

Ответ #1

Если вы имеете ввиду, то что при нажатии на ссылку сразу обрабатывается нажатие по слою, то необходимо ввести глобальную переменную, в котороую при нажатии на ссылку будет записываться значение TRUE, а при нажатии по слою проверять чему равна эта переменная. Насчет второго вопроса, я скажу, что нужно использовать функцию parentElement в цикле.

Вопрос #2

Суть проблемы такова: при наведении или нажатии на объект нужно в переменную передать его id или class получаемый через this.id. По наглому не получается, пробовал так: var name_1 = this.id; Пробовал и другие варианты, искал в книгах, но не нашёл. Подскажите если кто знает, или выскажите светлую мысль, если таковая появится - буду пробовать.

Ответ #2

Сделать это невозможно, так как обработчик событий не возвращает ссылку на объект. Чтобы отслеживать объекты создайте глобальную переменую, куда заносите информацию.

Вопрос #3

альтернативная передача данных, скорость загрузки например через span или div .... или такое вообще не возможно?

Ответ #3

Что вы имеете ввиду? Отслеживание скорости загрузки файлов? Тогда обратитесь на форум сайт dklab, там подробно описана эта проблема.

Вопрос #4

Начну издалека. Есть на странице некий элемент. Скажем
с каким-то id. Задача в том чтобы его содержимое отправить на email пользователю без перезагрузки страницы. В принципе, через XMLHttpRequest все сделал. Бэкэнд - простенький php скрипт - отсылает инфу на мыло пользователю и ответ возвращает, ну вроде как успешно или нет. Даже с кодировками и заголовками разобрался, вроде бы. Ну кто знает, тот поймет, как говорится. И, собственно, проблема. В IE все работает прекрасно - письма уходят и приходят полностью, как и должны. А вот при отправке из Opera - приходит только часть письма! Пытался проверять что в php приходит - вроде бы все правильно... Уже не знаю что и думать...

Ответ #4

Используйте библиотеку JsHttpRequest. Важно отметить, что подобная проблема возникает часто на локальном хостинге, поэтому могу порекоммендовать перенести скрипт на сервер и протестировать.

Вопрос #5

Код вставки флеш в страницу:
<object id="flashobj" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="350" height="350" id="Main" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param id="MovieParam" name="movie" value="flash.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="wmode" value="opaque" />
<embed src="flash.swf" quality="high" bgcolor="#ffffff" width="350" height="350" name="Main" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

Необходимо изменять параметр "wmode" между "opaque" и "window", где "opaque" позволяет перекрывать флеш другимим слоями, но не дает принимать флеш внешние воздействия, а "window" - обычный режим, но флеш всегда поверх всего.

Обращаюсь так:

Эффекта нет - как не работали клики по флешу, так и не работают. Порядок перекрытия тоже не изменяется. Зато при изменении параметра с "opaque" на "transparent" и обратно, все работает после первого клика на флеш - фон становится прозрачным или нет.

Помогите заставить переключаться между "opaque" и "window".

Ответ #5

Используйте функцияю setAttribute, обращаясь к id параметра.



В избранное