изменение значения элемента display
Помогите пожалуйса.. Нужно, чтобы после клика на ссылку изменялось значение элемента display с block на none и обратно. Ниже код, но он не работает.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"> </script> <script> function my_f(objName) { if ($(objName).css('display') == 'none') { $(objName).css('display') = 'block'; } else { $(objName).css('display') = 'none'; } } </script> <a href="javascript:void(0)" onclick="my_f('#textid')">(+)</a> <div id="textid" style="display:block"> скрытый текст </div> Подскажите, где ошибка? |
<script> function my_f(objName) { var object = document.getElementById(objName); object.style.display == 'none' ? object.style.display = 'block' : object.style.display = 'none' } </script> <a href="javascript:void(0)" onclick="my_f('textid')">(+)</a> <div id="textid" style="display:block;"> скрытый текст </div> |
(Sandr), многа букаф...
<!DOCTYPE html> <html> <HEAD> <TITLE></TITLE> <style> </style> <script> function my_f(Id) { var o=document.getElementById(Id) o.style.display = (o.style.display == 'none')? 'block': 'none' } </script> </HEAD> <body> <a href="#" onclick="my_f('textid')">(+)</a> <div id="textid"> скрытый текст </div> </body> </html> |
Цитата:
<script type="text/javascript"> window.onload = function(){ document.getElementById('a').onclick = function(){ var div = document.getElementById('div'); div.style.display = (div.style.display == '') ? 'block' : ''; return false; }; }; </script> <style type="text/css"> div {background: red; display: none; width: 100px; height: 50px;} </style> <a href="#" id="a">click</a> <div id="div"></div> |
Всем большое спасибо) и с наступающим))
|
не заметил, а вам на jQuery код нужен был?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $('.a').click(function(){ $('.div1').toggleClass('div2'); return false; }); }); </script> <style type="text/css"> div {background: red; width: 100px; height: 50px; } .div1 {display: none;} .div2 {display: block;} </style> <a href="#" class="a">click</a> <div class="div1"></div> |
Цитата:
|
Цитата:
|
Лол, +1)
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function hide(id) {var o=document.getElementById(id).style; o.display=o.display?'': 'none'} </script> </head> <body> <a href="#" onclick="hide('textid')">(+)</a> <div id="textid"> скрытый текст </div> </body> </html> |
появился ещё один вопрос.. как сделать, чтоб если текст виден, то ссылка с надписью (+) менялась на (-) ?
пробовал ссылке присвоить id="plus_minus" а потом изменить таким образом: plus_minus.innerHTML = '(-)' но ничего не получилось.. |
<script> function my_f(objName, a) { var object = document.getElementById(objName); object.style.display = (object.style.display == 'none') ? '' : 'none' a.innerHTML = (object.style.display == 'none') ? '(+)' : '(-)' } </script> <a href="javascript:void(0)" onclick="my_f('textid', this)">(-)</a> <div id="textid" style="display:block;"> скрытый текст </div> |
спасибо ещё раз)
|
Здравствуйте все!
Воспользовался этим кодом: <script> function my_f(objName, a) { var object = document.getElementById(objName); object.style.display = (object.style.display == 'none') ? '' : 'none' a.innerHTML = (object.style.display == 'none') ? '(+)' : '(-)' } </script> <a href="javascript:void(0)" onclick="my_f('textid', this)">(-)</a> <div id="textid" style="display:block;"> скрытый текст </div> Все отлично работает, но не подскажите как его модифицировать следующим образом: будет к примеру несколько ссылок и несколько скрытых дивов. По нажатию на одну ссылку див меняет стиль на видимый, а ссылка меняет стиль (цвет допустим). При нажатии на другую ссылку прошлый див сворачивается и открывается тот по которому кликнули (опять жеж со сменой цвета ссылки). Много всего перелопатил, но хочется очень легкого и изящного решения, а все что предлагает слишком громоздко и много лишнего. Я к яваскрипту редко обращаюсь (чуть чуть другая специфика) но вот пришлось) Заранее спасибо за помощь! |
talliar,
возможно вам поможет это http://jqueryui.com/demos/accordion/ |
Спасибо! Как раз то, что нужно!))
|
Привет. Есть задача воспроизвести поведение опции «Показать полностью…» со страниц ВКонтакта (когда большие комментарии сжимаются). С помощью одного из кодов, представленных выше это удалось — только остаётся перенос строки. Дано ли избавиться от переноса?
<script> function my_f(objName, a) { var object = document.getElementById(objName); object.style.display = (object.style.display == 'block') ? '' : 'block' a.innerHTML = (object.style.display == 'block') ? '' : '(-)' } </script> </HEAD> <BODY> <p>Хозяева жизни ведут борьбу на двух направлениях. Первый фронт — битва за изменение сюжета. Второй фронт — борьба за то, чтобы выбросить из истории (сюжета) как можно большее число людей и народов: если в сюжет входит слишком много «посторонних», лидирующая роль драматурга и режиссера, которую узурпировали элиты, ставится под вопрос. Простой пример. В 1918 году в России белое движение боролось за то, чтобы командарм Сорокин, батька Махно, бывший бандит Котовский <a onclick="my_f('textid', this)">Показать полностью…</a><span id="textid" style="display:none;">остались внеисторическими фигурами вместе со многими миллионами других серых анонимов. Соответственно, красная борьба велась за то, чтобы жизнь людей, чье существование в истории значило не больше, чем жизнь ежа в лесу, превратилась в легендарное и поучительное повествование в учебниках истории для будущих поколений. Тогда победили красные. Сейчас белые изменили сюжет и осуществляют реванш: стирают легендарное повествование, выбрасывая его героев из истории. Элиты всеми силами стремятся вернуть себе роль драматурга, узурпировать ее и избавиться от лишних сюжетов.</span></p> |
Часовой пояс GMT +3, время: 14:31. |