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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: проблема с функцией

Сообщения:  [1-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>

  Ответить  
 
 автор: 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ая проблема. долистываю до последней картинки, соответственно стрелка "вправо" лоджна пропасть, но она пропадает только после еще одного нажатия.
Спасибо.

  Ответить  

Сообщения:  [1-2] 

Форум разработан IT-студией SoftTime