Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   смена положения картинок (https://javascript.ru/forum/misc/8269-smena-polozheniya-kartinok.html)

yadino 17.03.2010 14:36

смена положения картинок
 
выпала интересная задачка, решил испробовать. суть в том что надо сделать также, как вот на этом сайте big.dk . А там под таблицей с квадратиками нажимаешь вариант отображения- по алфавиту, или по годам, и картинки перестраиваются. Я подумал как.... Надо создать таблицу, и за каждой ячейкой закрепить координаты. В первом случае квадратик будет каждый в своей ячейке. Далее когда мы жмем кнопку, квадратики должны сменить положение. То есть что-то типа:

$(".kvadrat").each(function () {
$(this).animate({
top: "+=20",
left: "+=20",
}, 30 );
});
При этом top: "+=20", вместо двадцати подставляем значение, какое расстояние надо проехать между текущей точкой, и точкой назначения :)
Наставьте на путь праведный)) Как закрепить за каждой ячейкой координаты, и как потом разницу подсчитать. Хмм...
допустим ячейка А1, координаты 10:15 при смене на вариант- "по годам" ее место 20:30 к примеру. Тогда у нас получается 20-10 и 30-15. Но ежели квадратиков много, как тут сделать чтобы они друг над другом стояли.... Вообщем непросто)) Подкиньте идейку)

qst13r1245r12 18.03.2010 21:30

document.getElementById('ya4euka1').style.top=docu ment.getElementById('ya4euka1').style.top+20;
document.getElementById('ya4euka1').style.left=doc ument.getElementById('ya4euka1').style.top+20;

yadino 18.03.2010 21:51

как переместить это не вопрос, вопрос в том как рассчитать куда перемещать))

qst13r1245r12 18.03.2010 21:57

ну а при чем здесь форум JS, если нужно построить самому все на листике и расчитать координаты?
Мы же не знаем что вам хочется или нужно построить...

yadino 18.03.2010 22:02

количество ячеек будет меняться. То есть просто так не проссчитать, надо придумать как именно. И как в яваскрипте это все увязать :) а хочется мне чтобы было как на том сайте, только в яваскрипте, и чтобы юзер мог добавлять сам новые квадратики)

qst13r1245r12 18.03.2010 22:16

ya4euka.style.left=кол-во ячеек в строке * 30px(размер ячейки);
координаты ячейки слева
например при загрузке страницы дать каждой ячейке зашифрованный id для выравнивания, например "a4b7c12d2" (значения после буквы - порядковый номер ячейки при определенной сортировке) и разбить его при сортировке

yadino 18.03.2010 22:35

спасибо. я еще сам всерьез не садился за работу, как только начну- все опробую, расскажу что вышло :) примерно также я и хотел делать начать. Только в json все буду передавать. У меня такой вопрос. А если будет 50 ячеек, тормозить не будет? хотелось бы все плавно, как там сделано. Ну и увеличение при наведении тоже будет.

qst13r1245r12 18.03.2010 22:46

хз, я, лично, оч редко таким занимаюсь... попробуй просто штук 50 поставить и в цикле все передвинуть куды-нить


Часовой пояс GMT +3, время: 14:14.