Jump to content

Ogalig

User
  • Posts

    172
  • Joined

  • Last visited

Ogalig's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Разметка на дивах выглядит более красиво а сайт получается более оптимизированым, нежели его бы делали на таблицах. Если это не критично то можно делать и на таблицах.
  2. Св-ва текущей страницы на фулл скрин поменять нельзя. Это зделано из соображений безопасности. Такой параметр можно задать только открываемому окну.
  3. Мне бы было неудобно пользоваться таким деревом, если честно. Искать какой карандаш какой строчке соответствует ..
  4. Мне кажется адаптировать пот себя кем-то написанное намного сложнее чем написать самому...
  5. Можно диву просто цвет бэкграунда указать, тогда он будет расширятся как надо и без пробелов. По моему работает даже background-color:Transpered (сори за грамматику).
  6. <style>body html {background-color:Red;} </style> Усли не поможет можно попробовать скриптом. document.body.style.backgroundColor="Red";
  7. Два варианта отличаются только атрибутами name у инпута? Или я еще что-то недосмотрел?
  8. Тогда только динамически высчитывать высоту. Можно еще хедер и меню положить во абсолютно позиционированную таблицу, но это изврат.
  9. Я имел ввиду что в том варианте что ты предложил у всех строк во всех таблицах для которых написан этот скрипт должен быть один и тот же класс, в то время как в большинстве случаев он разный у строк в одной и той же таблице или вообще динамически меняется скриптом. Доработал код.Таблица и ксс сильно не изменились с прошлого раза, так что не выкладываю. Теперь кнопка может лежать в любой ячейке. Родитель так же высчитывается динамически в бесконечном цикле (предпочел не выносить поиск в отдельные функции). Единственное что пока я привязываюсь к имени тега, и не обошел ту ситуацию про которую ты рассказывал, но еще поломаю голову над этим, так просто я не сдамся . На вскидку придумал еще один вариант. Оборачивать таблицу в див с нужным именем (имя в таблице в фоксе задавать нельзя), и наткнувшись на див можно определить нужную таблицу, а следовательно строку и ячейку. Но подобный способ ведет к усложнению ХТМЛ, но учитываю что таблица создается динамически это не такой и большой недостаток. 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); } }
  10. А в чем смотришь? Если в чем-то лисообразном, то там релатив не сработает нужным образом для элементов таблицы и положение абсолют будет считаться от внешнего контейнера.
  11. Подобную мысль я тоже рассматривал. К имени класса мне тоже не очень нравиться привязываться, т.к. я за динамичный ксс . Как лучшую альтернативу я так же рассматривал привязываться к атрибуту NAME, т.к. этот атрибут не обязательно должен быть уникальным. Весь вопрос сводиться в конечном счете к тому к чему привязываться. Тоже хотел написать подобную функцию которая ищет родителя по атрибутам, но отложил ее на потом ) .
  12. Я и думаю наперед, т.к. много раз уже на этом обжигался. Так вот для того чтобы не переделывать потом я и стараюсь как можно меньше изменять исходный хтмл. Ведь для другого скрипта может понадобиться первоначальная индексация строк. Так же, например, с динамической сортировкой строк будет легче, как я полагаю. Не придется уже открытые всплывающие подсказки связывать со строками с которыми они логически ассоциируются, т.к. они сами находятся в той же самой строке. Как я понял основная проблема это где хранить данные или ссылку на данные? Если бы я создавал таблицу, то поместил бы их или в кнопку, как было предложено, или же вообще все данные поместил бы в таблицу и прятал столбцы, естественно если данных немного и это не сильно скажется, например, на трафике. В таком случае тягать их из этой же самой строки тоже не проблема. Собственно это уже в алгоритме и делается. Баг с тем что кнопка должна находиться в первой ячейки строки я сейчас исправлю. П.С, Может уже на "ты"? А то ты сам перескакиваешь с ты на вы от сообщения к сообщению.
  13. Я просто не хотел как раз нарушать индексацию строк и ячеек, из-за этого и пытаюсь впихнуть все в одну строку. Тот вариант что ты предложил я отбросил еще в самом начале. Кстати. А почему должен быть обязательно связанный массив? Не легче всю информацию, или хотя бы ссылки на нее грузить в невидимые столбцы той же строки?
  14. Надеюсь что такого способа нет и никогда не будет, иначе спамеры замучают. Пока спамеры мучают через всплывающие дивы
  15. Примерно так тогда КСС: .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); } } Единственное что пока недоработал так это то что переключатель должен находиться в первой колонке. Для исправления нужно просто скриптом высчитывать ширину колонок перед переключателе и выставлять координаты абсолютного позиционирования относительно этой ширины. Просто не было времени. В иннерхтмл дива пока передается индекс строки, вместо этого должна вызываться функция которая по индексу строки ищет соответствующую запись в массиве. Но написание этой функции в задание уже не входит, насколько я понял.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy