Ogalig
User-
Posts
172 -
Joined
-
Last visited
Ogalig's Achievements
Explorer (1/14)
0
Reputation
-
Разметка на дивах выглядит более красиво а сайт получается более оптимизированым, нежели его бы делали на таблицах. Если это не критично то можно делать и на таблицах.
-
Св-ва текущей страницы на фулл скрин поменять нельзя. Это зделано из соображений безопасности. Такой параметр можно задать только открываемому окну.
-
Мне бы было неудобно пользоваться таким деревом, если честно. Искать какой карандаш какой строчке соответствует ..
-
Мне кажется адаптировать пот себя кем-то написанное намного сложнее чем написать самому...
-
Можно диву просто цвет бэкграунда указать, тогда он будет расширятся как надо и без пробелов. По моему работает даже background-color:Transpered (сори за грамматику).
-
Изменить цвет фона страницы не имея доступа к ее коду
Ogalig replied to nasibullin's question in HTML Coding
<style>body html {background-color:Red;} </style> Усли не поможет можно попробовать скриптом. document.body.style.backgroundColor="Red"; -
Два варианта отличаются только атрибутами name у инпута? Или я еще что-то недосмотрел?
-
Тогда только динамически высчитывать высоту. Можно еще хедер и меню положить во абсолютно позиционированную таблицу, но это изврат.
-
Я имел ввиду что в том варианте что ты предложил у всех строк во всех таблицах для которых написан этот скрипт должен быть один и тот же класс, в то время как в большинстве случаев он разный у строк в одной и той же таблице или вообще динамически меняется скриптом. Доработал код.Таблица и ксс сильно не изменились с прошлого раза, так что не выкладываю. Теперь кнопка может лежать в любой ячейке. Родитель так же высчитывается динамически в бесконечном цикле (предпочел не выносить поиск в отдельные функции). Единственное что пока я привязываюсь к имени тега, и не обошел ту ситуацию про которую ты рассказывал, но еще поломаю голову над этим, так просто я не сдамся . На вскидку придумал еще один вариант. Оборачивать таблицу в див с нужным именем (имя в таблице в фоксе задавать нельзя), и наткнувшись на див можно определить нужную таблицу, а следовательно строку и ячейку. Но подобный способ ведет к усложнению ХТМЛ, но учитываю что таблица создается динамически это не такой и большой недостаток. function CreateSubTip(elem) { var row; var cell; var nextElem=elem; for(i=0;i<=1;i) { if(nextElem.parentNode.tagName=='TR') { cell=nextElem; row=nextElem.parentNode; break; } else { nextElem=nextElem.parentNode; } if(nextElem.parentNode.tagName=='HTML') { alert("Error table for Grid"); break; } } if(elem.nextSibling && elem.nextSibling.tagName=="DIV" && elem.nextSibling.name=="subDiv") { elem.parentNode.removeChild(elem.nextSibling); row.className=""; } else { row.className="ForRow"; subDiv=document.createElement("DIV"); subDiv.className="ForSubDiv"; subDiv.name="subDiv"; elem.parentNode.appendChild(subDiv); var div = document.createElement("DIV"); div.className="ForDiv"; div.style.left=-cell.offsetLeft+2+"px"; div.style.width=row.offsetWidth-6+"px"; //Вот тут мы и присваиваем нужные атрибуты создаваемому списку //for(i=1;i<row.cells.length;i++)div.innerHTML=div.innerHTML+" "+row.cells[i].innerHTML; div.innerHTML=row.rowIndex;//Тут по идее вызываеться ф-я которая ищет запись в массиве по индексу строки subDiv.appendChild(div); } }
-
А в чем смотришь? Если в чем-то лисообразном, то там релатив не сработает нужным образом для элементов таблицы и положение абсолют будет считаться от внешнего контейнера.
-
Подобную мысль я тоже рассматривал. К имени класса мне тоже не очень нравиться привязываться, т.к. я за динамичный ксс . Как лучшую альтернативу я так же рассматривал привязываться к атрибуту NAME, т.к. этот атрибут не обязательно должен быть уникальным. Весь вопрос сводиться в конечном счете к тому к чему привязываться. Тоже хотел написать подобную функцию которая ищет родителя по атрибутам, но отложил ее на потом ) .
-
Я и думаю наперед, т.к. много раз уже на этом обжигался. Так вот для того чтобы не переделывать потом я и стараюсь как можно меньше изменять исходный хтмл. Ведь для другого скрипта может понадобиться первоначальная индексация строк. Так же, например, с динамической сортировкой строк будет легче, как я полагаю. Не придется уже открытые всплывающие подсказки связывать со строками с которыми они логически ассоциируются, т.к. они сами находятся в той же самой строке. Как я понял основная проблема это где хранить данные или ссылку на данные? Если бы я создавал таблицу, то поместил бы их или в кнопку, как было предложено, или же вообще все данные поместил бы в таблицу и прятал столбцы, естественно если данных немного и это не сильно скажется, например, на трафике. В таком случае тягать их из этой же самой строки тоже не проблема. Собственно это уже в алгоритме и делается. Баг с тем что кнопка должна находиться в первой ячейки строки я сейчас исправлю. П.С, Может уже на "ты"? А то ты сам перескакиваешь с ты на вы от сообщения к сообщению.
-
Я просто не хотел как раз нарушать индексацию строк и ячеек, из-за этого и пытаюсь впихнуть все в одну строку. Тот вариант что ты предложил я отбросил еще в самом начале. Кстати. А почему должен быть обязательно связанный массив? Не легче всю информацию, или хотя бы ссылки на нее грузить в невидимые столбцы той же строки?
-
Надеюсь что такого способа нет и никогда не будет, иначе спамеры замучают. Пока спамеры мучают через всплывающие дивы
-
Примерно так тогда КСС: .ForRow { height:110px; } .ForRow td { vertical-align:top; } .ForDiv { border:Solid 1px Orange; background-color:#ddd; height:80px; width:150px; position:absolute; top:2px; } .ForSubDiv { height:0px; width:0px; position:relative; } Скрипт: function onClick(elem) // Вызывается по событию клика на переключателe { var row = elem.parentNode.parentNode; if(elem.nextSibling && elem.nextSibling.tagName=="DIV" && elem.nextSibling.name=="subDiv") { elem.parentNode.removeChild(elem.nextSibling); row.className=""; } else { row.className="ForRow"; subDiv=document.createElement("DIV"); subDiv.className="ForSubDiv"; subDiv.name="subDiv"; elem.parentNode.appendChild(subDiv); var div = document.createElement("DIV"); div.className="ForDiv"; //Вот тут мы и присваиваем нужные атрибуты создаваемому списку //for(i=1;i<row.cells.length;i++)div.innerHTML=div.innerHTML+" "+row.cells[i].innerHTML; div.innerHTML=row.rowIndex;//Тут по идее вызываеться ф-я которая ищет запись в массиве по индексу строки subDiv.appendChild(div); } } Единственное что пока недоработал так это то что переключатель должен находиться в первой колонке. Для исправления нужно просто скриптом высчитывать ширину колонок перед переключателе и выставлять координаты абсолютного позиционирования относительно этой ширины. Просто не было времени. В иннерхтмл дива пока передается индекс строки, вместо этого должна вызываться функция которая по индексу строки ищет соответствующую запись в массиве. Но написание этой функции в задание уже не входит, насколько я понял.