Реализация условий 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, время: 05:36. |