[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите сделать подобие карт
BaLTiK
Всем доброго времени суток.
Столкнулся с проблемой.
У меня есть 4 блока. Их можно двигать, куда вам захочется, но идея в том, что когда хватаешь блок его z-index становится выше других, дабы можно было его опустить поверх другого блока. Но при этом схватив другой блок, его z-index становится максимальным, а z-index предыдущего схваченного блока становится на 1 меньше от максимального. Ну и в таком духе. В мое понимании должна быть лесенка : 4.3.2.1 потом схватив какой-то блок лесенка меняется на 3,2,4,1 хватаем другой и получаем 2,1,3,4 ну и так далее. Но вот как это сделать, ума не приложу. Особенно если учесть что в js нельзя считать z-index блока.
Может кто-то посоветует что-то умное =)
Lenarfate
http://api.jqueryui.com/zIndex/
BaLTiK
Здорово, но я, к сожалению ничего полезного из этой ссылки не подчеркнул.
Правда может, я не понял чего-то, тогда прошу растолковать для чайников =)
Lenarfate
в jquery ui уже все придумано, нужно только научиться пользоваться. почитайте, полазайте по сайту, указанному по ссылке выше
BaLTiK
а помимо jquery есть какие-то способы решения данной проблемы ?
Lenarfate
а чем вас не устраивает jquery?
http://www.askdev.ru/javascript/118/%D0%BA...%B2-javascript/
BaLTiK
тем что я попросту его не знаю. А весь js с которым сталкиваюсь, стараюсь писать сам.
Zzepish
Jquery функция css()
Lenarfate
…style.zIndex = …
чистый js
BaLTiK
нет ну как назначить z-index я знаю, но проблема в том, что я не могу сделать то что хочу. Так как назначить z-index можно а считать его нельзя. и как при этом сделать лесенку что описана выше ?
Zzepish
BaLTiK
В массив записывать. А потом просто его переписывать
BaLTiK
а условие какое ставить ? Я пробовал через массив но не могу придумать правильное условие.
window['elem'+1]=1;
window['elem'+2]=2;
window['elem'+3]=3;
window['elem'+4]=4;
f1.style.zIndex = window['elem'+1];
f2.style.zIndex = window['elem'+2];
f3.style.zIndex = window['elem'+3];
f4.style.zIndex = window['elem'+4];
telement.style.zIndex = 4;

а вот какое условие дальше поставить чтоб у блока которого схватили был 4 а все остальные, с учетом иерархии, что предыдущий схваченный блок становится 3, а остальные -1. Ну короче я описывал выше свою идею.
Подскажите какое правильное условие писать в if или циклом или х... его знает.
Zzepish
BaLTiK
Попробуй запилить так: элементу, который передвигвешь: z-index 99999.
Запили переменную z-index. И сделай ее= z-index самого высокого элемента. При переключении на новый элемент- делай его z-index+1. И, само собой, z-index++
BaLTiK
я же говорю, считывать z-index элемента js не умеет.
var zind;
zind = f1.style.zIndex

так сделать не получится.
zind всегда будет равен 0. На сколько я знаю, js тупо не умеет считывать z-index элемента.
назначать можно, а вот считывать, нет =(
Вот в этом то и вся проблема
BaLTiK
а нет, я понял Вашу идею. Кстати как вариант она подходит. Единственный минус. То что z-index будет постоянно расти, а не скакать по лесенке как я предполагал ранее.
Быстрый ответ:

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