Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.12.2011, 22:23
Аспирант
Отправить личное сообщение для jsuse Посмотреть профиль Найти все сообщения от jsuse
 
Регистрация: 10.04.2010
Сообщений: 92

Реализация условий 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?
Ответить с цитированием
  #2 (permalink)  
Старый 01.12.2011, 23:11
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

попробуй вместо attr использовать css
Ответить с цитированием
  #3 (permalink)  
Старый 02.12.2011, 11:21
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от jsuse
Как в jQuery реализуются условия?
Вот допустим есть код:
1 button.onclick = function() {
2 if (div.style.display == "none") {
3 div.style.display = "block";
4 else {
5 div.style.display = "none";
6 }


Как такое условие реализовать с jQuery?
можно так

<!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>
Ответить с цитированием
  #4 (permalink)  
Старый 02.12.2011, 21:47
Аспирант
Отправить личное сообщение для jsuse Посмотреть профиль Найти все сообщения от jsuse
 
Регистрация: 10.04.2010
Сообщений: 92

Решение вопроса топика
Спасибо всем, хорошие решения.
Но то, что я написал в теме все таки работает. Получилось я здесь без ошибок написал, а в коде допустил ошибку - не поставил # для указания id. Вот и не работало.

Поэтому ответ такой. Условия else/if в jQuery реализуются.

Но тоже как-то странно. При else/if условиях событие click почему-то срабатывает только со второго клика по элементу. Если без сложных условий, то работает как надо, с одного клика. При else/if чего-то подглючивает.
Ответить с цитированием
  #5 (permalink)  
Старый 02.12.2011, 22:08
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от jsuse
Условия else/if в jQuery реализуются.
Условия реализуются в JS, jQ - всего лишь библиотека...
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #6 (permalink)  
Старый 02.12.2011, 23:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

jsuse, нет там никаких "особенностей"... Просто писать нужно правильно...
Ответить с цитированием
  #7 (permalink)  
Старый 25.09.2015, 18:49
Новичок на форуме
Отправить личное сообщение для Porebro Посмотреть профиль Найти все сообщения от Porebro
 
Регистрация: 25.09.2015
Сообщений: 1

Ребята , очень похожая проблема
Код:
$(function(){
			var test = $('.hidden')
			if (test.css('display')=='none') {
						
			$('#spoiler').click(function(){
				$('.hidden').slideDown();
				$('#spoiler').text('Скрыть');
			});
			};
			else{
				$('#spoiler').click(function(){
				$('.hidden').slideUp();
				$('#spoiler').text('Показать');
			};
		});
Условие срабатывает , но когда код доходит до "else" то пишет ошибку в консоле:"Uncaught SyntaxError: Unexpected token else"

сам код здесь :https://jsfiddle.net/hsxx83g2/
Ответить с цитированием
  #8 (permalink)  
Старый 25.09.2015, 18:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Еще бы, у вас скобки как попало разбросаны, а не как положено.
Ответить с цитированием
  #9 (permalink)  
Старый 25.09.2015, 20:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамически загружаемая jQuery и jQuery-функции в одном файле 67bytes Общие вопросы Javascript 6 06.03.2013 09:01
2 разных модуля на jQuery - как подключить? finder jQuery 4 23.03.2012 22:29
отключить jQuery Awilum jQuery 0 19.11.2010 22:10
jQuery jTreeMenu plugin Seafnox jQuery 9 12.01.2010 21:55
JQuery + FireFox NOOB jQuery 4 02.11.2009 18:16