-
Posts
2,118 -
Joined
-
Last visited
-
Days Won
11
Content Type
Profiles
Forums
Calendar
Store
Everything posted by mishka
-
а ты проверил работу в каком нибудь браузере кроме ие? 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) Надо еще проверку на браузер сделать Заметил как твой код потихоньку становится все больше и больше
-
Во, сделай так и проверь работу Макс, такими темпами ты тут скоро будешь главным джсором. Главным верстальщиком уже стал
-
Работает как надо, но по громоздкости несильно уступает моему, а по универсальности проигрывает. В моем способе лейблы связанны с инпутом правильно. Так как они и должны связыватся, тоесть for/id. Это работает во всех браузерах кроме ие. А скрипт мой работает только для ие. И чтобы связать картинку с инпутом(не только радио или чекбокс) нужно картинке задать клас "label" и в альте прописать айдишник нужного инпута. Как видишь и работает правильно, и семантика не нарушенна. И никаких дополнительных айдишников (связка for/id не всчет). Есть один минус: скрипт будет отрабатывать для всех ие. Если в ие9 или в обновленной версии ие8 проблему связки картинки лейбла с инпутом пофиксят, то придется переделать условие отработки джс. А если не пофиксят, то все ок. а самый простой способ - положить изображение бекграундом на лейбл
-
я тоже таким путем пошел. Вот мой окончательный вариант.Конечно мне ненравится громоздкость, но на большее я пока не готов <!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>
-
Макс я хочу самой обычной стандартной работы радиобаттонов и чекбоксов. Что тут непонятного? Вот смотри как это должно работать, только в роли лейбла чтобы был не только текст, но также и картинка могла бы быть лейблом. <!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> Скопируй этот код и посмотри как работают инпуты
-
Несколько говоришь... так вот попробуй выбрать несколько в своем варианте! Ну вот мои ваяния прошу протестить и оставить отзывы <!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>
-
Да что же ты такой невнимательный? Макс, как должны работать чекбоксы, и как радиобоксы. В чем их принципиальное отличие?
-
чтото у меня при повторном клике на картинке галочка не пропадает...
-
Макс, как должны работать чекбоксы? И как радиобоксы?
-
Толи я чегото непонимаю, толи ты....
-
Плохо тем что чекбоксы это не радио. Их можна выбирать сразу несколько, они не связанны друг с другом. И еще при первом клике на чекбокс он становится активным, повторный клик должен снять галочку. Также к <img src="img2.png" onclick="test(this)" /> я отношусь аналогично как к <div style="..."></div>
-
1. Это не универсально 2. Этот способ, имхо, самый оптимальный. 3. Ну это, имхо, нехорошо. Как по мне это всеравно что стили писать прям в html Это чтото типа <div style="..."></div>, нехорошо... Но хватит спорить о том как делать. Давайте делать. Я так и несмог добится адекватной работы с чекбоксами.
-
Да я пытался вылавливать только те картинки которые находятся в лейбле, но столкнулся с тем что ие их невидит... Все браузеры показывают сколько их, и их параметры посмотреть можна. А ие просто их невидит... Предложи вариант более оптимальный. Также напомню что лейбл невсегда может находится в форме. Поэтому от идеи вылавливать только те картинки которые в форме, я сразу отказался. Или предлагаешь вызов функции делать так: <img src="img1.png" id="one" onclick="img(this);" /> Но где же принципы разделения отображения и содержания. Куда подевалась идея о чистом HTML
-
Что тут нехорошего? Я же потом делаю проверку if(document.getElementById(this.getAttribute('alt'))). Но зато более универсальный способ. И полностью джс выносится в отдельный файл. Это значит что его можна легко подключить. Но проблема в том что с чекбоксами неправильно работает if(document.getElementById(this.getAttribute('alt'))) Вероятность того что какойнить айдишник совпадет с альтом картинки не большая. Я бы сказал ничтожна.
-
Чтото типа оправдания : <!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> Жду комментов спецов. Сразу же и дам коммент: для чекбоксов неподходит... надо доработать. ктонить поможет?
-
да уж, действительно в ие7 тоже неработает... В ие8 нет возможности посмотреть.
-
можна, но ие6 непоймет.
-
пиши относительный путь, например <img src="1.jpg" align="right"> <img src="../1.jpg" align="right"> <img src="../../1.jpg" align="right">
-
Ага, и в каком то из постов на зрение тоже жаловался... Кактус - полный бред. ТС равняйся например на SyncMaster 971p, или NEC ... модели незнаю, но есть по параметрам примерно такие. Равняйся не на размер, по этому поводу я уже выше писал. А на характеристики матрицы. Правда одно но - в динамические игрушки играть неочень приятно, так как время отклика большое
-
После 20мин верстки перед ЭЛТ монитором в глазах туман... Так как фокус и сведение у них не идеально. С ЖК ни сравнить. А по поводу цены - проф ЭЛТ моник, у которого и цвета, и сведение, и фокус будут несильно уступать этим же параметрам ЖК.... Такой моник на халяву ненайти. Такой если бу но в отличном состоянии то никто не продает, а если новый то цена будет высока.
-
Для верстки моник желательно взять не менее 19". Широкоформатный или нет - дело вкуса. Как по мне так широкий более практичен, да и фильмов таких все больше За все время верстания работал только за двумя мониками, поэтому опыт не большой. Но понял что для того чтобы заметить все тенюшки и градиенты в дизе - желательно брать моник с матрицей PVA. Время отклика у них меньше, но угол обзора и качество цветов лучше по сравнению с матрицей TN. И цена больше.
-
убери ширину 100% с последней ячейки! она и так потянется. Первым двум ширину в пикселях, как сейчас. А последней ничего ненадо.
-
попробуй на .art-menu ul li высоту 1% или зуум. <span class="art-menu-separator"></span> сильный ход, но если уже так, то ему display:block; height:1px; ну или сколько надо там. overflow:hidden;
-
оффтопчег: psywalker, где такую аву взял? Сам рисовал? Чтото както многовато последнее время ты хренов по форуму разбрасываешь. По теме. Лучше сразу работать в редакторе с подсветкой кода. Главное чтобы видно было правильно или неправильно написан тег, закрыт ли он. Иначе пока вы будете искать орфографические ошибки у себя, ваши сокурсники будут с преподом учить основы верстки, а не правильность написания тегов. Редактор конечно текстовый, никаких WYSIWYG! Также, желательно чтобы редактор был небольшой и бесплатный(или покупай лицензию), так как не везде дадут возможность работать на ворованном софте. Есть знакомые которые работали раньше в дриме, но когда пришло время отказатся от платного ворованного софта, то перешли на Notepad++ скорость верстки у всех выросла как нестранно Мне нотепад ненравится - слишком уж яркая подсветка, только отвлекает, но это все настраивается. Также огромный минус - путь к картинке необходимо прописывать вручную. А во всем остальном достойный редактор. Но наверное самый лучший редактор будет тот в котором разберешся до мельчайших подробностей, и настроишь его под себя.
-
Найти скрипт который генерит этот список дропа селекта не там же где селект был, а генерит эго в самом низу HTML и потом высчитывает координаты где ему надо появится при открытии селекта. Так и проблем никогда небудет с релейтивами overflov:hidden;