Jump to content

mishka

Expert
  • Posts

    2,118
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by mishka

  1. а ты проверил работу в каком нибудь браузере кроме ие? for(var i = 0; i<imgCheckbox.length;i++)imgCheckbox.item(i).onclick=function(){test(this)} это можна записать так: for(var i = 0; i<imgCheckbox.length;i++)imgCheckbox.item(i).onclick=function test(this) Надо еще проверку на браузер сделать Заметил как твой код потихоньку становится все больше и больше
  2. Во, сделай так и проверь работу Макс, такими темпами ты тут скоро будешь главным джсором. Главным верстальщиком уже стал
  3. Работает как надо, но по громоздкости несильно уступает моему, а по универсальности проигрывает. В моем способе лейблы связанны с инпутом правильно. Так как они и должны связыватся, тоесть for/id. Это работает во всех браузерах кроме ие. А скрипт мой работает только для ие. И чтобы связать картинку с инпутом(не только радио или чекбокс) нужно картинке задать клас "label" и в альте прописать айдишник нужного инпута. Как видишь и работает правильно, и семантика не нарушенна. И никаких дополнительных айдишников (связка for/id не всчет). Есть один минус: скрипт будет отрабатывать для всех ие. Если в ие9 или в обновленной версии ие8 проблему связки картинки лейбла с инпутом пофиксят, то придется переделать условие отработки джс. А если не пофиксят, то все ок. а самый простой способ - положить изображение бекграундом на лейбл
  4. я тоже таким путем пошел. Вот мой окончательный вариант.Конечно мне ненравится громоздкость, но на большее я пока не готов <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript"><!-- function initScript(){ var u = navigator.userAgent.toLowerCase(); if(u.indexOf('msie')!=-1){ var _imgLabel=document.getElementsByTagName('img') for (var i=0;i<_imgLabel.length;i++){ if(_imgLabel[i].className.indexOf('label')!=-1){ _imgLabel[i].onclick = function(){ if(document.getElementById(this.getAttribute('alt'))){ if(document.getElementById(this.getAttribute('alt')).checked==false&&document.getElementById(this.getAttribute('alt')).type=='checkbox'){ document.getElementById(this.getAttribute('alt')).checked=true }else{document.getElementById(this.getAttribute('alt')).checked=false} if(document.getElementById(this.getAttribute('alt')).checked==false&&document.getElementById(this.getAttribute('alt')).type=='radio'){ document.getElementById(this.getAttribute('alt')).checked=true } if(document.getElementById(this.getAttribute('alt')).type!=='checkbox'&&document.getElementById(this.getAttribute('alt')).type!=='radio'){ document.getElementById(this.getAttribute('alt')).focus() } } } } } } } if(window.addEventListener)window.addEventListener("load",initScript,false); else if(window.attachEvent)window.attachEvent("onload",initScript); //--></script> </head> <body> <div id="wrapper"> <form action="#"> <fieldset> <input id="radio1" type="radio" name="radiogroup" /> <label for="radio1"><img class="label" src="autumn.gif" alt="radio1" width="50" height="50" /></label> <input id="radio2" type="radio" name="radiogroup" /> <label for="radio2"><img class="label" src="autumn.gif" alt="radio2" width="50" height="50" /></label> <input id="checkbox1" type="checkbox" /> <label for="checkbox1"><img class="label" src="autumn.gif" alt="checkbox1" width="50" height="50" /></label> <input id="checkbox2" type="checkbox" /> <label for="checkbox2"><img class="label" src="autumn.gif" alt="checkbox2" width="50" height="50" /></label> <div> <label for="text"><img class="label" src="autumn.gif" alt="text" width="50" height="50" /></label> <input id="text" type="text" value="Value" /> </div> <div> <label for="password"><img class="label" src="autumn.gif" alt="password" width="50" height="50" /></label> <input id="password" type="password" value="Value" /> </div> <div> <label for="select"><img class="label" src="autumn.gif" alt="select" width="50" height="50" /></label> <select id="select"> <option>option 1</option> <option>option 2</option> </select> </div> </fieldset> </form> </div> </body> </html>
  5. Макс я хочу самой обычной стандартной работы радиобаттонов и чекбоксов. Что тут непонятного? Вот смотри как это должно работать, только в роли лейбла чтобы был не только текст, но также и картинка могла бы быть лейблом. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <div id="wrapper"> <form action="#"> <fieldset> <ul> <li><input id="id1" type="radio" name="radiogroup" /> <label for="id1">Label 1</label></li> <li><input id="id2" type="radio" name="radiogroup" /> <label for="id2">Label 2</label></li> </ul> <ul> <li><input id="id3" type="checkbox" /> <label for="id3">Label 3</label></li> <li><input id="id4" type="checkbox" /> <label for="id4">Label 4</label></li> </ul> </fieldset> </form> </div> </body> </html> Скопируй этот код и посмотри как работают инпуты
  6. Несколько говоришь... так вот попробуй выбрать несколько в своем варианте! Ну вот мои ваяния прошу протестить и оставить отзывы <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript"><!-- function initScript(){ var IE='\v'=='v'; if(IE){ var _imgLabel=document.getElementsByTagName('img') for (var i=0;i<_imgLabel.length;i++){ if(_imgLabel[i].className.indexOf('label')!=-1){ _imgLabel[i].onclick = function(){ if(document.getElementById(this.getAttribute('alt')).checked==false&&document.getElementById(this.getAttribute('alt')).type=='checkbox'){ document.getElementById(this.getAttribute('alt')).checked=true }else{document.getElementById(this.getAttribute('alt')).checked=false} if(document.getElementById(this.getAttribute('alt')).checked==false&&document.getElementById(this.getAttribute('alt')).type=='radio'){ document.getElementById(this.getAttribute('alt')).checked=true } } } } } } if(window.addEventListener)window.addEventListener("load",initScript,false); else if(window.attachEvent)window.attachEvent("onload",initScript); //--></script> </head> <body> <div id="wrapper"> <form action="#"> <fieldset> <input id="img1" type="radio" name="radiogroup" checked="checked" /> <label for="img1"><img class="label" src="autumn.gif" alt="img1" width="50" height="50" /></label> <input id="img2" type="radio" name="radiogroup" /> <label for="img2"><img class="label" src="autumn.gif" alt="img2" width="50" height="50" /></label> <input id="img3" type="radio" name="radiogroup2" /> <label for="img3"><img class="label" src="autumn.gif" alt="img3" width="50" height="50" /></label> <input id="img4" type="radio" name="radiogroup2" checked="checked" /> <label for="img4"><img class="label" src="autumn.gif" alt="img4" width="50" height="50" /></label> <input id="img5" type="checkbox" /> <label for="img5"><img class="label" src="autumn.gif" alt="img5" width="50" height="50" /></label> <input id="img6" type="checkbox" checked="checked" /> <label for="img6"><img class="label" src="autumn.gif" alt="img6" width="50" height="50" /></label> </fieldset> </form> </div> </body> </html>
  7. Да что же ты такой невнимательный? Макс, как должны работать чекбоксы, и как радиобоксы. В чем их принципиальное отличие?
  8. чтото у меня при повторном клике на картинке галочка не пропадает...
  9. Макс, как должны работать чекбоксы? И как радиобоксы?
  10. Толи я чегото непонимаю, толи ты....
  11. Плохо тем что чекбоксы это не радио. Их можна выбирать сразу несколько, они не связанны друг с другом. И еще при первом клике на чекбокс он становится активным, повторный клик должен снять галочку. Также к <img src="img2.png" onclick="test(this)" /> я отношусь аналогично как к <div style="..."></div>
  12. 1. Это не универсально 2. Этот способ, имхо, самый оптимальный. 3. Ну это, имхо, нехорошо. Как по мне это всеравно что стили писать прям в html Это чтото типа <div style="..."></div>, нехорошо... Но хватит спорить о том как делать. Давайте делать. Я так и несмог добится адекватной работы с чекбоксами.
  13. Да я пытался вылавливать только те картинки которые находятся в лейбле, но столкнулся с тем что ие их невидит... Все браузеры показывают сколько их, и их параметры посмотреть можна. А ие просто их невидит... Предложи вариант более оптимальный. Также напомню что лейбл невсегда может находится в форме. Поэтому от идеи вылавливать только те картинки которые в форме, я сразу отказался. Или предлагаешь вызов функции делать так: <img src="img1.png" id="one" onclick="img(this);" /> Но где же принципы разделения отображения и содержания. Куда подевалась идея о чистом HTML
  14. Что тут нехорошего? Я же потом делаю проверку if(document.getElementById(this.getAttribute('alt'))). Но зато более универсальный способ. И полностью джс выносится в отдельный файл. Это значит что его можна легко подключить. Но проблема в том что с чекбоксами неправильно работает if(document.getElementById(this.getAttribute('alt'))) Вероятность того что какойнить айдишник совпадет с альтом картинки не большая. Я бы сказал ничтожна.
  15. Чтото типа оправдания : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript"><!-- function initScript(){ var _img = document.getElementsByTagName('img') var _inputs = document.getElementsByTagName('input') for(i=0;i<_img.length;i++){ _img[i].onclick = function(){ if(document.getElementById(this.getAttribute('alt'))){ document.getElementById(this.getAttribute('alt')).checked=true } } } } if(window.addEventListener)window.addEventListener("load",initScript,false); else if(window.attachEvent)window.attachEvent("onload",initScript); //--></script> </head> <body> <div id="wrapper"> <form action="#"> <fieldset> <input id="img1" type="radio" name="radiogroup" /> <label for="img1"><img src="autumn.gif" alt="img1" width="50" height="50" /></label> <input id="img2" type="radio" name="radiogroup" /> <label for="img2"><img src="autumn.gif" alt="img2" width="50" height="50" /></label> </fieldset> </form> </div> </body> </html> Жду комментов спецов. Сразу же и дам коммент: для чекбоксов неподходит... надо доработать. ктонить поможет?
  16. да уж, действительно в ие7 тоже неработает... В ие8 нет возможности посмотреть.
  17. пиши относительный путь, например <img src="1.jpg" align="right"> <img src="../1.jpg" align="right"> <img src="../../1.jpg" align="right">
  18. Ага, и в каком то из постов на зрение тоже жаловался... Кактус - полный бред. ТС равняйся например на SyncMaster 971p, или NEC ... модели незнаю, но есть по параметрам примерно такие. Равняйся не на размер, по этому поводу я уже выше писал. А на характеристики матрицы. Правда одно но - в динамические игрушки играть неочень приятно, так как время отклика большое
  19. После 20мин верстки перед ЭЛТ монитором в глазах туман... Так как фокус и сведение у них не идеально. С ЖК ни сравнить. А по поводу цены - проф ЭЛТ моник, у которого и цвета, и сведение, и фокус будут несильно уступать этим же параметрам ЖК.... Такой моник на халяву ненайти. Такой если бу но в отличном состоянии то никто не продает, а если новый то цена будет высока.
  20. Для верстки моник желательно взять не менее 19". Широкоформатный или нет - дело вкуса. Как по мне так широкий более практичен, да и фильмов таких все больше За все время верстания работал только за двумя мониками, поэтому опыт не большой. Но понял что для того чтобы заметить все тенюшки и градиенты в дизе - желательно брать моник с матрицей PVA. Время отклика у них меньше, но угол обзора и качество цветов лучше по сравнению с матрицей TN. И цена больше.
  21. убери ширину 100% с последней ячейки! она и так потянется. Первым двум ширину в пикселях, как сейчас. А последней ничего ненадо.
  22. попробуй на .art-menu ul li высоту 1% или зуум. <span class="art-menu-separator"></span> сильный ход, но если уже так, то ему display:block; height:1px; ну или сколько надо там. overflow:hidden;
  23. оффтопчег: psywalker, где такую аву взял? Сам рисовал? Чтото както многовато последнее время ты хренов по форуму разбрасываешь. По теме. Лучше сразу работать в редакторе с подсветкой кода. Главное чтобы видно было правильно или неправильно написан тег, закрыт ли он. Иначе пока вы будете искать орфографические ошибки у себя, ваши сокурсники будут с преподом учить основы верстки, а не правильность написания тегов. Редактор конечно текстовый, никаких WYSIWYG! Также, желательно чтобы редактор был небольшой и бесплатный(или покупай лицензию), так как не везде дадут возможность работать на ворованном софте. Есть знакомые которые работали раньше в дриме, но когда пришло время отказатся от платного ворованного софта, то перешли на Notepad++ скорость верстки у всех выросла как нестранно Мне нотепад ненравится - слишком уж яркая подсветка, только отвлекает, но это все настраивается. Также огромный минус - путь к картинке необходимо прописывать вручную. А во всем остальном достойный редактор. Но наверное самый лучший редактор будет тот в котором разберешся до мельчайших подробностей, и настроишь его под себя.
  24. Найти скрипт который генерит этот список дропа селекта не там же где селект был, а генерит эго в самом низу HTML и потом высчитывает координаты где ему надо появится при открытии селекта. Так и проблем никогда небудет с релейтивами overflov:hidden;
×
×
  • 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