Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема при замене изображения на JavaScript!
 
 автор: Мурад   (17.05.2007 в 12:12)   письмо автору
 
 

Привет всем! Помогите пожалуйста! Проблема такая:
- На странице есть две черно-белые картинки, которые расположены друг около друга. Когда мышкой щелкаем по первой картинке, она должна замениться такой же, но в цветном варианте! После того, как мы щелкаем на соседнюю черно-белую картинку, она заменится такой же цветной, а первая картинка вновь станет черно-белой!
Кто-нибудь знает, как можно написать такой скрипт?
Заранее спасибо!

   
 
 автор: coloboc66   (17.05.2007 в 12:27)   письмо автору
 
   для: Мурад   (17.05.2007 в 12:12)
 

Для этого есть фильтры DHTML. Просто возьмите справочник по DHTML (у меня под рукой его нет).

   
 
 автор: Мурад   (18.05.2007 в 10:38)   письмо автору
 
   для: coloboc66   (17.05.2007 в 12:27)
 

Неужели никто не может мне помочь ((((

   
 
 автор: bronenos   (18.05.2007 в 11:26)   письмо автору
 
   для: Мурад   (18.05.2007 в 10:38)
 

подсказка
style='filter:grey()'

   
 
 автор: yuk   (18.05.2007 в 11:32)   письмо автору
 
   для: Мурад   (18.05.2007 в 10:38)
 

Фильтрами делать прикольно, но лично у меня они работают только в IE. А так чтоб наверняка, придется для начала сделать каждую картинку в двух вариантах - цветном и сером. А дальше можно хотя бы и так:

<html>
<head>        
<script>
var img1, img2;
function chimage(d)
{    if(d==1)
    {    img1.src='img1_c.gif';
        img2.src='img2_g.gif';
    }
    else
    {    img1.src='img1_g.gif';
        img2.src='img2_c.gif';
    }
}
</script>
</head>
<body>
<img id="im1" src="img1_g.gif" onclick="chimage(1)">
<img id="im2" src="img2_g.gif" onclick="chimage(2)">
</body>
<script>
img1=document.getElementById('im1');
img2=document.getElementById('im2');
</script>
</html>

   
 
 автор: ilyaILF   (18.05.2007 в 11:38)   письмо автору
 
   для: Мурад   (17.05.2007 в 12:12)
 

С фильтрами и только для IE!!! :-)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Sample</title>
<script type="text/javascript">
(d=document).onclick=function(ev){ 
  ev=ev||event;
  if((imgObj=d.all?ev.srcElement:ev.target).tagName!='IMG')return;     //интересуют только картинки 
  if(imgObj.name!='myphoto')return;
      else{
          for(i=0;i<d.getElementsByName(imgObj.name).length;i++)d.getElementsByName(imgObj.name)[i].style.filter='gray';
          imgObj.style.filter='';
       }
}
</script>
<style type="text/css">
* html img
    {border: 0; width: 200px; height: 250px; filter: gray;}
</style>
</head>
<body>
<img name="myphoto" src="photo_1_clr.jpg" />
<img name="myphoto" src="photo_2_clr.jpg" />
<img name="myphoto" src="photo_3_clr.jpg" />
</body>
</html>
Если тоже самое сделать не с style.filter, а с src (как показывал на примере yuk) то можно получить вполне работоспособный мультиброузерный вариант.
P.S. А еще можно сделать попарно абсолютноспозиционированные картинки (чернобелая-цветная) и при клике по ним мышкой одну из них делать невидимой. А если сделать гиперссылками, то можно обойтись и вовсе без JavaScript а воспользоваться псевдоклассом a:active, или a:hover.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования