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

HTML+CSS+JavaScript

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

 

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

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

тема: Движущийся слой
 
 автор: neokortex   (26.11.2007 в 13:47)   письмо автору
 
 

Задача, сделать так чтобы при нажатии на слой, он "выезжал" на 300px вправо, при повторном нажатии "уезжал" обратно.
Код

<script language="javascript"> 
 function Myfun() {  
  document.getElementById('pic').style.left = (document.getElementById('pic').style.left == '') ? '300' : ''; 
    }  
  </script>  
<img src="1.jpg" id="pic" style="position:relative" onClick="Myfun();">

Работает ПОЧТИ правильно. За исключением того что Картинка не "ездит", а просто появляется
Добавляю в конце функции

setTimeout('Myfun()', 5000); 

и кртинка при нажатии просто скачет каждые пять сек. туда сюда.
Что то не могу разобраться толком с сеттаймаутом, памагите люди, столько времени уже убил :(

   
 
 автор: elenaki   (26.11.2007 в 14:00)   письмо автору
 
   для: neokortex   (26.11.2007 в 13:47)
 


<script>
function updatemsg(inc){
    //crossobj.style.left="-367px"
    path0 = inc.split(".");
    path = path0.join("_b.");
    
        
    crossobj.innerHTML="<div id=stand style=\"z-index: 100; width: 367; height: 280; background-image: url('" + inc + "');border: #c6c6c6 1px solid;  border-right: #221e1f 4px solid; border-left: none;'\"><div id=flyin style=\"position:relative; top:-1; left:-1; width:367; height:280;padding:0; margin:0;\"><a href=\"" + path + "\" target=_blank ><img src='" + inc + "' width=367 height=280 border=0></a></div></div>";
    
    crossobj.style.left=crossobj.offsetWidth*(-1) +"px"
    start=setInterval("animatein()",100)
    }

    function animatein(){
        if (parseInt(crossobj.style.left)<0)
        crossobj.style.left=parseInt(crossobj.style.left)+20+"px"
        else{
        crossobj.style.left=0+"px"
        clearInterval(start)
        
        }
    
    }

    function initialize(inc){
    crossobj=document.getElementById? document.getElementById("flyin") : document.all.flyin
    updatemsg(inc)
    
    }

</script>
<a href=# onclick="initialize('picture_url'); return false;" >click here</a>

   
 
 автор: neokortex   (28.11.2007 в 16:14)   письмо автору
 
   для: elenaki   (26.11.2007 в 14:00)
 

:(
не работает, а попроще никак нельзя?

   
 
 автор: elenaki   (28.11.2007 в 19:48)   письмо автору
 
   для: neokortex   (28.11.2007 в 16:14)
 

хм. у меня работает. вот пример (фотка выползает по наведению мыша на превьюшку)

   
Rambler's Top100
вверх

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