0
- 06.12.2012 - 20:06
|
Надо: если над элементом (без id) нависнет мыша, то нужно покрасить элемент в другой цвет (onmouseover="this.style.color='red'; setTimeout('........', 1000);") и сделать так, что если через секунду указатель мышы будет все еще над ним (onmouseout="this.style.color='';"), то сделать this.onclick(). Вопрос, что надо написать вместо '........' в событии onmouseover()? | | |
1
- 06.12.2012 - 20:07
|
недейкая = недецкая сорри, репентинг. | | |
2
- 07.12.2012 - 16:25
|
по событию mouseout нужно этому элементу ставить атрибут а вместо троеточия делать клик, если атрибут установлен | | |
3
- 07.12.2012 - 16:27
| я не много напутал, но думаю идея понятна | | |
4
- 07.12.2012 - 16:41
|
все, вопрос снимается. http://go2dad.com/c3RhY2tvdmVyZmxvdy...VyLTEtc2Vjb25k | | |
5
- 07.12.2012 - 16:43
|
2-toly84 > да, примерно так. Но там вышел небольшой прикол: при setTimeout объект this превращался в объект window со всеми вытекающими (например нельзя было уже обратиться к this.parentNode, this.свойства и т.д. в онклике). | | |
6
- 07.12.2012 - 16:51
| 5-Гавайские субтитры > с jQuery было бы без приколов, хотя на вкус и цвет... | | |
7
- 07.12.2012 - 17:12
|
6-toly84 > да там наверное то же самое. Что там за функция это делает, не подскажете? Чисто посмотреть, как там реализовано. (если там вообще такое есть) | | |
8
- 07.12.2012 - 17:21
| 7-Гавайские субтитры >http://api.jquery.com/click/ | | |
9
- 07.12.2012 - 17:22
|
var element = $('#id'); element.mouseover(function()** // меняем цвет // ставим атрибут setTimeout(function()** // если есть атрибут - делаем клик **) **); element.mouseout(function()** // снимаем атрибут **) просто если таких элементов будет много - то нужно будет хранить для каждого из них объект таймера, а здесь - никаких заморочек | | |
10
- 07.12.2012 - 17:40
|
9-toly84 > у элемента нету айди, в том-то и прикол. | | |
11
- 07.12.2012 - 17:43
| 10-Гавайские субтитры > что мешает поставить его? + можно выбрать по тегу. | | |
12
- 07.12.2012 - 18:17
| ставить загодя - проблематично. Т.к. их миллион таких. Это что-то типа дерева файлов и надо раскрывать ветки при перетаскивании элемента. Ставить айдишнеки не очень. Но как видишь в примере по ссылке, я там создаю динамичский айди и не надо никакой жыквиэри. перебрать, может, а не выбрать? | | |
13
- 07.12.2012 - 18:46
|
12-Гавайские субтитры > именно выбрать. не надо, так не надо. я уже говорил про вкусы. | | |
14
- 07.12.2012 - 18:53
| byTagName? Там ведь массив возвращается. Или я чего-то не догоняю. В общем, если можно сделать сабж без id и без задавания имени и т.п., работая чисто с объектом this, то рассказывайте. | | |
15
- 07.12.2012 - 19:58
| 14-Гавайские субтитры > все что нужно в документации jQuery | | |
16
- 07.12.2012 - 20:09
|
15-toly84 > это мне известно, но я у Вас спрашиваю. | | |
17
- 07.12.2012 - 20:50
| 16-Гавайские субтитры > я разве нанялся к кому-то? | | |
18
- 07.12.2012 - 21:19
|
не хотел ничего писать, учитывая автора :) но когда прочитал, что предлагают подключать jquery из-за такой ерунды, не выдержал. Код <script type="text/javascript"> var ident_timer = false; function fstart( obj ) ** var obj_link = obj; obj.style.color='red'; ident_timer = setTimeout( function()** if ( ident_timer )** obj_link.click(); ** **, 1000); ** function fend( obj ) ** obj.style.color=''; if ( ident_timer ) ** clearTimeout( ident_timer ); ** ident_timer = false; ** </script> <div> <a href="http://yandex.ru/" onmouseover = "fstart( this );" onmouseout="fend( this );">ссылко</a> <br> <a href="http://google.ru/" onmouseover = "fstart( this );" onmouseout="fend( this );">ссылко 2</a> </div> | | |
19
- 07.12.2012 - 21:43
|
18-Искусственный Интеллект1 > да, лучше бы молчал и дальше. =) Элементы лежат близко друг к другу, и ident_timer может перекрываться. Не все так просто как кажется. ЗЫ и вообще, выше была дана ссылка на решение, и там есть и этот вариант. | | |
20
- 07.12.2012 - 21:55
|
19-Гавайские субтитры > вот поэтому и не хотел помогать :) Напиши html код, при котором не будет работать мой код. Если не напишешь, то ты - трепло! :) | | |
21
- 07.12.2012 - 22:15
|
20-Искусственный Интеллект1 > пожалуйста: <a href="http://yandex.ru/" onmouseover = "fstart( this );" onmouseout="fend( this );">ссылко <br> <a href="http://google.ru/" onmouseover = "fstart( this );" onmouseout="fend( this );">ссылко 2</a> </a> надеюсь, осилишь =) | | |
22
- 07.12.2012 - 22:30
|
21-Гавайские субтитры > даже с твоим г*вно-кодом работает (хотя чего от тебя еще ожидать :) ты только такое и может делать:) ) без всяких изменений :), просто изменил html-код, javascript оставил как есть. <script type="text/javascript"> var ident_timer = false; function fstart( obj ) ** var obj_link = obj; obj.style.color='red'; ident_timer = setTimeout( function()** if ( ident_timer )** obj_link.click(); ** **, 1000); ** function fend( obj ) ** obj.style.color=''; if ( ident_timer ) ** clearTimeout( ident_timer ); ** ident_timer = false; ** </script> <div> <a href="http://yandex.ru/" onmouseover = "fstart( this );" onmouseout="fend( this );">ссылко <br> <a href="http://google.ru/" onmouseover = "fstart( this );" onmouseout="fend( this );">ссылко 2</a> </a> </div> и нормально все работает :) | | |
23
- 07.12.2012 - 22:35
|
Но чтобы вооще все точняк было, и ты не усык*лся тут, приговаривая, что у тебя все не так просто :), немного подкорректировал код: <script type="text/javascript"> var ident_timer = false; function fstart( obj ) ** var obj_link = obj; obj.style.color='red'; if ( ident_timer ) ** clearTimeout( ident_timer ); ** ident_timer = setTimeout( function()** if ( ident_timer )** obj_link.click(); ** **, 1000); ** function fend( obj ) ** obj.style.color=''; if ( ident_timer ) ** clearTimeout( ident_timer ); ** ident_timer = false; ** </script> <div> <a href="http://yandex.ru/" onmouseover = "fstart( this );" onmouseout="fend( this );">ссылко <br> <a href="http://google.ru/" onmouseover = "fstart( this );" onmouseout="fend( this );">ссылко 2</a> </a> </div> | | |
24
- 07.12.2012 - 23:30
| Походу, ИИ дурачок. Причом нервный. =) | | |
25
- 07.12.2012 - 23:33
|
23-Искусственный Интеллект1 > главное, клаву не сломай =)) И прочти №5 | | |
26
- 07.12.2012 - 23:57
| 25-Гавайские субтитры > я понимаю, что мозг твой слабенький, ты стараешься понять, но ничего у тебя не получается! :) Ты не в силах даже признать что мой код нормально работает :) Но попробуй хоть раз в жизни напрячь свой неразвитый мозг, и скопировать мой код и вставить его в свою страничку, а потом проверить его в браузере! Наверное на это у тебя мозга хватит? :) Или ты настолько туп, что не можешь даже выполнить копирование текста, а потом его вставить в другой текст?! :) | | |
27
- 08.12.2012 - 00:12
| Цитата:
По сабжу твой метод не прокатит. Хоть убейся. Тем более уже было сказано про это еще в №4. Если бы кое-то еще умел читать.... =)) | | |
28
- 08.12.2012 - 13:01
| 27-Гавайские субтитры > конкретно код покажи, в котором мой метод не работает. То есть давай доказательства, а так это всё пустые слова :) | | |
29
- 08.12.2012 - 18:17
|
28-Искусственный Интеллект1 > уважаемый, я уже не знаю как вам разжевывать, где и что не работает. Гиблое дело. =) ЗЫ кстати, вы кудкудахнули "Напиши html код, при котором не будет работать мой код. Если не напишешь, то ты - трепло! :)" я вам написал код, при котором ваш код не работает, а вы даже не извинились за "трепло". =) | | |
30
- 08.12.2012 - 21:28
|
29-Гавайские субтитры > хочешь извинений? Пожалуйста :) Гавайские субтитры, извини, но ты - трепло! :) | | |
31
- 08.12.2012 - 21:39
|
30-Искусственный Интеллект1 > ты неправ. Твой код веть не работает в приведенном там примере. Хотя ты неадекват, это уже заметно, все равно не согласишся, что ты неправ. Ты же, кстати, даже на условия в сабже внимания не обратил. И к тому же в №4 есть такой же самый пример какой дал ты. Наверное ты оттудова его и слямзил =))) В общем, ты неадекватный немного. | |
| Интернет-форум Краснодарского края и Краснодара |