Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Событие выполняется при наведение на любой из элементов с идентичным классом (https://javascript.ru/forum/events/10260-sobytie-vypolnyaetsya-pri-navedenie-na-lyubojj-iz-ehlementov-s-identichnym-klassom.html)

libinstyle 24.06.2010 20:20

Событие выполняется при наведение на любой из элементов с идентичным классом
 
Здравствуйте! Документ имеет следующее строение
<div id="contener1" >
<img scr="1.jpg" class="pics">
<img scr="2.jpg" class="pics">
<img scr="3.jpg" class="pics">
</div>

<div id="contener2" >
<img scr="4.jpg" class="pics">
<img scr="5.jpg" class="pics">
<img scr="6.jpg" class="pics">
</div>

<div id="contener3" >
<img scr="7.jpg" class="pics">
<img scr="8.jpg" class="pics">
<img scr="9.jpg" class="pics">
</div>



Подскажите пожалуйста, как мне сделать так, чтобы при наведение на любой из img'ов с class="pics" выполнялось событие, без того чтоб прописывать ОнМаузОвер в каждой строчке. Что то типа document.pics.onMouseOver
А, и важное дополнение, чтобы функция которая выполняет событие, получала ввиде параметра src пикчи

Sweet 24.06.2010 20:45

А я знаю, но не скажу!:p Тут вам не фонд "Доброе сердце: напиши готовый скрипт за так" Есть раздел работы, но и там "таки" не принимают:)

libinstyle 24.06.2010 20:46

)) Я смотрю тут правила изменились))

chippolino 24.06.2010 22:14

Вот как это делается:
window.onload=(function(){
	var pics=(d=document).getElementsByClassName('pics');
	for(i=0;i<=(pics.length-1);i++){
		pics[i].onmouseover=(function(){
			alert(this.getAttribute('src'));
		});
    }
});

libinstyle 24.06.2010 22:53

Спасибо большое!

libinstyle 24.06.2010 22:56

Реально, просто огромное спасибо!!

Vulkan 25.06.2010 09:42

Вот вопросик, по этой же теме, а как можно выделить из pics[i] ID элемента, можно же использовать this.id, вот только как например все эти id поместить в массив?

Kolyaj 25.06.2010 09:46

Цитата:

Сообщение от chippolino
Вот как это делается:

Так не делается, но пойдёт :)

Vulkan,
вы опять со своими id. Что они к вам прицепились-то?

Vulkan 25.06.2010 09:56

Цитата:

Сообщение от Kolyaj (Сообщение 61004)
Vulkan,
вы опять со своими id. Что они к вам прицепились-то?

Я опять?:) Я давно не создавал темы про ID, только вот про порядок выполнения onmouseover вчера, вы меня наверное перепутали вот с этим.:)

Skipp 25.06.2010 09:58

Vulkan,
а зачем вам id? pics уже содержат необходимые элементы.

Vulkan 25.06.2010 10:02

Skipp, мне нужно собрать id`ы и потом методом
elem.parentNode.removeChild(elem)
удалить все наёденные элементы с такими классами. Или можно вместо id классы поставить?

Kolyaj 25.06.2010 10:05

Цитата:

Сообщение от Vulkan
вы меня наверное перепутали вот с этим.

Точно, близнецы.

Цитата:

Сообщение от Vulkan
elem.parentNode.removeChild(elem)

А где здесь id?

Вы, собственно, от Polkan не отличаетесь :) Зачем вам получать id, чтобы получить по ним элементы, если у вас и так есть элементы?

Skipp 25.06.2010 10:10

Vulkan,
ыыыыы,
Вы не много не понимаете как работает всё это
Метод getElementById - возвращает элемент(объект), найденный по id,
Так же и getElementsByClassName - возвращает элементы(объекты), найденные class (Этот метод кстати не кросбраузерный).
Тоесть в данном случаи pics уже содержит эти объекты и можно сделать pics[i].parentNode.removeChild(pics[i]).

А id - это просто его идентификатор(атрибут) и всё.

Поняли? Если нет спрашивайте.

Vulkan 25.06.2010 10:11

Skipp, а ну всё понятно, спасибо =)

kibal4iw 25.06.2010 18:10

а как же IE, он не воспринимает
getElementsByClassName('pics');

chippolino 25.06.2010 18:16

<script type="text/javascript" src="jquery.js"></script>

chippolino 25.06.2010 18:18

$(function(){	
	$('.some_class').click(function(){
		alert('меня ie понимает');
	});
});

why.not? 26.06.2010 11:48

для этого проще один sizzle подключить, чем весь jQ

Skipp 26.06.2010 13:02

http://javascript.ru/unsorted/top-10...lementsbyclass

kibal4iw 27.06.2010 11:35

chippolino, да я про jQuery вообще не упоминал, я говорил только про getElementsByClassName.

Skipp, спасибо, за пример


Часовой пояс GMT +3, время: 20:23.