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

HTML+CSS+JavaScript

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

 

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

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

тема: проблема с функцией
 
 автор: unnam   (11.09.2008 в 11:06)   письмо автору
 
 

доброго дня всем. помогите пожалуйста с функцией, работает без ошибок, но результат не тот . вот код:

<script>
var i=0;
var ArrayOfImages=new Array("elven_","human_","ther_");
//функция рисования картинки
function DrawTheImage()
    {
        var TableData=document.getElementById("race"); // id ячейки с рисунком
        var RaceName=ArrayOfImages[i];
        var ImagePath='<img src=../mygame/img/heroes/types/'+RaceName+'.jpg>';
        TableData.innerHTML=ImagePath;
    }

//функция перелистывания
function TurnOverTheList(direction)
    {
        switch(direction)
            {
                case 1: //left
                if (i==0)
                {document.getElementById("arrowleft").style.display="none"}
                else 
                    {
                         i--;
                    document.getElementById("arrowleft").style.display="block";
                       DrawTheImage();
                    }
                      break;
                case 0:  //right
                if (i==2)
                    {document.getElementById("arrowright").style.display="none"}
                else 
                     {
                        i++;
                    document.getElementById("arrowright").style.display="block";
                         DrawTheImage();
                     }
                     break;
                
            }
    }
</script>
<body onLoad="DrawTheImage()">

смысл такой, что есть картинка основная и две картинки в виде стрелок, при нажатии на которые меняется основная картинка.
1ая проблема в том, что по умолчанию левой стрелке задаю display:none (в коде цсс), а потом, по идее как, динамически свойство none должно изменяться на block, но оно не меняется, соответственно левая стрелка не видна вообще.
2ая проблема. долистываю до последней картинки, соответственно стрелка "вправо" лоджна пропасть, но она пропадает только после еще одного нажатия.
Спасибо.

  Ответить  
 
 автор: xx77   (12.09.2008 в 15:02)   письмо автору
 
   для: unnam   (11.09.2008 в 11:06)
 

перенесите присвоения .style.display в первую функцию
<script language="php"> 
//
var i=0
var 
ArrayOfImages=new Array("elven_","human_","ther_"); 
//функция рисования картинки 
function DrawTheImage() { 
    var 
TableData=document.getElementById("race");
 
// id ячейки с рисунком 
    
document.getElementById("arrowleft").style.display =(i==0) ? "none":"block"
    
document.getElementById("arrowright").style.display = (i==2) ? "none""block"
    var 
RaceName=ArrayOfImages[i]; 
    var 
ImagePath='<img src="../mygame/img/heroes/types/'+RaceName+'.jpg"/>'
    
TableData.innerHTML=ImagePath
}
//функция перелистывания 
function TurnOverTheList(direction) {
if (
direction>0)  i--
else 
i++;
DrawTheImage(); 
}
</script> 
<body onLoad="DrawTheImage()">
<div id="race">.....</div>

<button id="arrowright" onclick="TurnOverTheList(0)">&gt;&gt;</button>
<button id="arrowleft" onclick="TurnOverTheList(1)">&lt;&lt;</button>

  Ответить  
Rambler's Top100
вверх

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