[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сдвинуть список на 1 пункт
McLotos
Добрый день! Всё ещё вожусь с пролистыванием, что-то не получается.
Имеется список картинок и две ссылки (вверх и вниз), ссылка вверх не видна пока элементы не будут смещены, ссылка вниз должна исчезнуть в конце списка, проблема в том что не могу заставить функцию срабатывать несколько раз, т.е. если 1 раз смещение сработало то больше оно работать не будет пока не верну первоначальные позиции.
 window.onload=function(){//во время загрузки страницы строю список preview картинок
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
LeftContent(JSON.parse(xmlhttp.responseText));
}
}

xmlhttp.open("GET","editor.php?command=findImages",true);
xmlhttp.send();
}

function LeftContent(answer)
{
container = document.getElementById('left');//блок где будут лежать картинки
uplink = document.createElement('a');//ссылка пролистывания вверх
uplink.setAttribute('href','#');
uplink.setAttribute('id','uplink');
uplink.setAttribute('onclick','move("up")');

upimg=document.createElement('img');//картинка для ссылки (стрелочка вверх)
upimg.setAttribute('src','up.png');

uplink.appendChild(upimg);
container.appendChild(uplink);

list = document.createElement('ul');//создаем список картинок
list.setAttribute('id','images');
container.appendChild(list);

for(p in answer)//перебираем ответ сервера и добавляем картинки в список
{elem=document.createElement('img');
elem.setAttribute('src','previews/'+answer[p]);
elem.setAttribute('id',p);
list.appendChild(elem);
}

downlink = document.createElement('a');//ссылка пролистывания вниз
downlink.setAttribute('href','#');
downlink.setAttribute('id','downlink');
downlink.setAttribute('onclick','move("down")');

downimg = document.createElement('img');//картинка ссылки
downimg.setAttribute('src','down.png');
downlink.appendChild(downimg);

container.appendChild(downlink);
hideimages(parseInt(p)+1);//прячем картинки которые не поместились в блок
}

function hideimages(imgcount)
{ //imgcount - количество картинок в папке +1
block = document.getElementById('left').offsetHeight; //размер блока
uplink = document.getElementById('uplink').offsetHeight;//размер верхней ссылки
downlink = document.getElementById('downlink').offsetHeight;//размер нижней ссылки
image = document.getElementById('0').offsetHeight;//размер одной картинки
forimage=block-uplink-downlink;//размер блока под картинки
countimages = parseInt(forimage/image);//количесвто помещающихся картинок

for(i=0;i<imgcount;i++)//прячем картинки которые не помещаются в блок
{if(i>countimages-1)
{
imageId=document.getElementById(i);
imageId.style.display='none';
}}

if(document.getElementById('0').style.display==='')//если нулевая картинка видна то прячем верхнюю ссылку
{document.getElementById('uplink').style.visibility='hidden';}
if(document.getElementById('0').style.display=='none')//возвращаем ссылку если нулевая картинка не видна (не начало списка)
{document.getElementById('uplink').style.visibility='visible';}

}


function move(ud)//тут вообще не знаю что и как писать.
//не понимаю как организовтаь пролистывание,
//пробовал перебором всех элементов списка и сменой атрибутов, но тогда атрибуты меняются для всех картинок

{
if(ud=='down')
{
}

if(ud=='up')
{}
}

Подскажите как правильно сделать функцию move. Чтобы она смещала видимость картинок при событии

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.