Реализация условий if/else с jQuery
Как в jQuery реализуются условия?
Вот допустим есть код: button.onclick = function() { if (div.style.display == "none") { div.style.display = "block"; else { div.style.display = "none"; } Как такое условие реализовать с jQuery? Вот мой код и он не работает. $("#button").live("click", function() { if ($("#div").attr("display") == "none") { $("#div").attr("display","inline-block"); $("#div").slideDown(); } else { $("#div").slideUp(); $("#div").attr("display","none"); } }); Возможно ли вообще это в jQuery? |
попробуй вместо attr использовать css
|
Цитата:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>demo</title> <script type='text/javascript' src='http://code.jquery.com/jquery-git.js'></script> </head> <body> <button>button</button> <div>div</div> <script> $('button').click(function () { $('div').toggle(); }); </script> </body> </html> |
Решение вопроса топика
Спасибо всем, хорошие решения.
Но то, что я написал в теме все таки работает. Получилось я здесь без ошибок написал, а в коде допустил ошибку - не поставил # для указания id. Вот и не работало. Поэтому ответ такой. Условия else/if в jQuery реализуются. Но тоже как-то странно. При else/if условиях событие click почему-то срабатывает только со второго клика по элементу. Если без сложных условий, то работает как надо, с одного клика. При else/if чего-то подглючивает. |
Цитата:
|
jsuse, нет там никаких "особенностей"... Просто писать нужно правильно... ;)
|
Ребята , очень похожая проблема
Код:
$(function(){ сам код здесь :https://jsfiddle.net/hsxx83g2/ |
Еще бы, у вас скобки как попало разбросаны, а не как положено.
|
Porebro,
:( <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> *{ box-sizing: border-box; } .hidden{ display: none; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function(){ var $hidden = $('.hidden'), $spoiler = $('#spoiler') $spoiler.click(function(){ $spoiler.text(['Показать','Скрыть'][+$hidden.is(':hidden')]); $hidden.slideToggle(); }); }); </script> </head> <body> <div > Служба Яндекс.Рефераты предназначена для студентов и школьников, дизайнеров и журналистов, создателей научных заявок и отчетов — для всех, кто относится к тексту, как к количеству знаков. </div> <div class="hidden"> Нажав на кнопку «Написать реферат», вы лично создаете уникальный текст, причем именно от вашего нажатия на кнопку зависит, какой именно текст получится — таким образом, авторские права на реферат принадлежат только вам. Теперь никто не сможет обвинить вас в плагиате, ибо каждый текст Яндекс.Рефератов неповторим. Текстами рефератов можно пользоваться совершенно бесплатно, однако при транслировании и предоставлении текстов в массовое пользование ссылка на Яндекс.Рефераты обязательна. </div> <button id="spoiler">Показать</button> </body> </html> |
Часовой пояс GMT +3, время: 00:09. |