|
|
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
Мне нужно, чтобы при каждом обновлении страницы картинка менялась случайным образом на одно из трех изображений + при на ведении на нее мыши - она заменялась всегда на 4-ую, а при отводе мыши снова выполнялась рандомизация из 3-х изображений. По отдельности (то есть рандомизация отдельно, OnMouse-события отдельно) эту задачу я решил так: <Script Language=JavaScript> var imagesarr = new Array( "images/1of_01.jpg", "images/2.jpg", "images/3.jpg"); var commentsarr = new Array( "Alt -1", "Alt - 2", "Alt - 3"); </script> <script Language=JavaScript> var los = Math.floor(Math.random() * imagesarr.length) document.write ("<Img Src='"+imagesarr[los]+"' Alt='"+commentsarr[los]+"'>"); </script> </head> <body bgcolor="#FFFFFF" text="#000000"> <p><img src="images/4.JPG" width="155" height="109" NAME="pic1" onMouseOver="document.pic1.src='./images/1of_01.jpg'" onMouseOut="document.pic1.src='./images/4.jpg'"> </p> </body> </html> Но как всё это слить к одному изображению? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 17:50 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 18:26 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 18:31 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
IDVsbruck Не сработает. Так как out_image нет во время getElementById. Получишь ошибку. Тебе это или после <BODY> надо делать или в onload для окна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 18:34 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
Ну так сделай ... я ж не готовую страницу дал, а вариант обхода того, что не получалось. Что куда ставить, думаю, топикстартер сделает ... Пользовательские атрибуты - не совсем "кошерно" (c)illion ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 20:47 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
Warstone, что-то не получается. При запуске все время одна и та же картинка, а при наведении мыши показывается отсутствие картинки. P.S. Вы забыли t в onMouseOut :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 20:50 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
IDVsbruck , не могли бы вы готовую страницу дать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 20:53 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
Просто ставишь скрипт не в <head>, а после <body></body> перед закрывающим </html>. Или можно оставить скрипт на месте, но сделать конструкцию windows.onload = function() { а сюда поместить содержимое скрипта, чтобы "оно" выполнялось после загрузки страницы } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 20:57 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
IDVsbruck , сделал по первому варианту, без windows.onload = function(), потому что с ней тоже выдавало ошибку сценария. Осталась проблема, чтобы при загрузке страницы (и обновлении) выдавалась одна из трех картинок. А тут всегда выдается четвертая на старте. (Плюс поменял местами over и out) автор<body> <p><img src="images/4.JPG" width="155" height="109" name="pic1" id="our_image"></p> </body> <script type="text/javascript"> var images_src = ["images/1of_01.jpg", "images/2.jpg", "images/3.jpg", "images/4.jpg"]; var images_comment = ["Alt -1", "Alt - 2", "Alt - 3", ""]; var image = document.getElementById("our_image"); image.onmouseover = function() { this.src = images_src[3]; this.alt = images_comment[3]; }; image.onmouseout = function() { var i = Math.floor(Math.random() * (images_src.length - 1)); this.src = images_src[i]; this.alt = images_comment[i]; }; </script> </html> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 21:17 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
Почти написал работающий премерчик. Рабочий день закончился (уже дома сижу). Могу сказать, что надо забыть про "document.write", присвоить картинке айдишник. ( IDVsbruck ) уже почти всё и написал. Ну и менять когда надо срц этой самой картинки. Дальше - самое трудное - думать надо... . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 21:39 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
... г-н Лермонтов, Вы обработчик событий местами поменяли ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 22:30 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
... а, блин, я подумал, что это ошибка, а потом только увидел, что это мною техзадание неправильно понято ... прдн ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 22:31 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
IDVsbruck , помогите пожалуйста. Я уже всю голову сломал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 23:19 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 1. Грузимся со случайной картинкой. 2. Когда наводим, получаем четвертую. 3. Когда уводим, грузим случайную. Конечно, лучше использовать DOM с заменой уже готовых имиджей - будет быстрее работать и даже возможно, что без миганий. Но, думаю, это будет следующим шагом. Еще можно попробовать со стилями, правда, прийдется использовать не image, а ссылку <а>. Попробовал, но слету не получилось - думал при наведении (:hover) менять backgroung у не-hover. Идея очень интересна, особенно тем, что картинка уже успееет подгрузиться, пока пользователь будет находиться над картинкой и смена будет происходить мгновенно - не будут миганий. Однако не получилось, так как подмена бекграунда ведет за собой изменение и видимого изображения. Можно, конечно, использовать 2 стиля и пока используем один, менять бекграунд у второго и при покидании картинки менять стиль. Тоже, думаю, будет быстрее. Кстати, этот вариант можно применить даже к имиджу (без :hover). Если юзать jQuery, то код и вовсе простой получится в скриптовой части: Код: plaintext Делал на скорую руку, так что возможны "помарки". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2008, 01:51 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
IDVsbruck , спасибо большое! Это то, что нужно! Вы настоящий друг :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2008, 02:13 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
Только мне не понятно, почему на странице перестают работать обработчики событий OnMouse ... для других картинок. Но вообще, это не важно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2008, 02:48 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, про мигания. При разборе одной тырнетовской менюшки, работающей от js, встретила такую конструкцию: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Lermontov IDVsbruck , спасибо большое! ...Вы настоящий друг :) "Спасибо тебе, Чебурашка, ты настоящий друг!" (с)Крокодил Гена :-)))прикольный был мульт LermontovТолько мне не понятно, почему на странице перестают работать обработчики событий OnMouse ... для других картинок вот и мне непонятно. Давайте сюда упрощенный нерабочий код - с одной рандомной картинкой и одной со сломанным обработчиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2008, 03:02 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
<html> <head> <script type="text/javascript"> var images_src = ["im/1.jpg", "im/2.jpg", "im/3.jpg", "im/4.jpg"]; var images_comment = ["Alt -1", "Alt - 2", "Alt - 3", ""]; window.onload = function() { var image = document.getElementById("our_image"); setImage(image, rndImage()); image.onmouseout = function() {setImage(this, rndImage())}; image.onmouseover = function() {setImage(this, 3)}; }; function rndImage() {return Math.floor(Math.random() * (images_src.length - 1));} function setImage(_image, n) { _image.src = images_src[n]; _image.alt = images_comment[n]; } </script> </head> <body> <img src="" width="200" height="199" name="pic1" id="our_image"> <p><img src="images/4.JPG" width="155" height="109" NAME="pic1" onMouseOver="document.pic1.src='./images/1.jpg'" onMouseOut="document.pic1.src='./images/4.jpg'"> </p> </body> </html> illion , вот то, что жирным - это относится к другой картинке. Она перестала работать, когда я добавил в <body> <img src="" width="200" height="199" name="pic1" id="our_image"> P.S. Как постить кодом? тег code тут не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2008, 08:58 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
А чего у них у всех наме одинаковый? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2008, 09:39 |
|
||
|
Рандомное изображение и события OnMouse. Help!
|
|||
|---|---|---|---|
|
#18+
Нет кода, зато есть SRC ... г-н Лермонтов, хорошо бы литературку почитать по javascript, а заодно и по html и css. 1. Обработчика события onMouseOver нет, есть onmouseover. 2. То же самое относится к onMouseOut. 3. "document.pic1.src" - IE only, аж типает от такой записи. Надо присваивать id и обращаться через document.getElementById(id). 4. Зачем называть разные элементы одним именем, если это не радиокнопки? Это я про name=pic1. Исправь эти ошибки и будет тебе счастье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2008, 11:32 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=314&tid=1455658]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 341ms |

| 0 / 0 |
