Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.07.2014, 03:39
Интересующийся
Отправить личное сообщение для AllReady Посмотреть профиль Найти все сообщения от AllReady
 
Регистрация: 08.07.2014
Сообщений: 12

Не передается параметр
Здравствуйте. Подключил библиотеку jquery. Написал в шапке следующий код:
<script type="text/javascript">

  	$(document).ready(function() {
  		$('#bb').click(function(){
  			var test = document.getElementById('text');
  			if (test.style.display == 'none') test.style.display = 'block';
  			else test.style.display='none';
  		});
  	});
  	
  </script>

Стили:

<style>
#test {
padding: 50px;
background: #20a6df;
color: black;
}

#text {
display: none;
}

</style>

Ну и html код
<div id="test">text
  <div id="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean sit amet suscipit dolor, id pretium orci. Morbi aliquet lectus mattis nisi scelerisque tristique. Maecenas hendrerit, mi vel mattis blandit, massa quam malesuada erat, sed pellentesque sapien nisl interdum quam. Suspendisse at placerat ligula. Ut arcu tellus, euismod id elementum ut, pellentesque sit amet quam. Ut ac lobortis enim, in mattis odio. Nullam faucibus a mauris sit amet volutpat. Suspendisse potenti.</div>
  </div>
  
	<button id="bb">Раскрыть</button>

Вообщем проблема в следующем. После просмотра уроков, хотел закрепить свои знания. Но тут таки проблема. Созздал кнопку, заголовок и текст. при нажатии на кнопку должен появляться текст. Да, он появляется, но при первом нажатии ничего не передается. Почему ?
Выводил через алерт(test.style.display);
Когда нажимаю, сначала ничего, пусто в оповещении. В следующие разы, уже работает появление и скрытие. Почему так могло произойти ? Я чего то не понимаю(( Вроде все правильно. Получил через getElementById - информацию о аттрибуте display, затем идут условия.
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2014, 04:15
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

вот ответ на ваш вопрос:
http://hashcode.ru/questions/126487/...%D1%82%D 1%8C

по коду есть несколько замечаний. так как используете jquery, то лучше написать так:
$(function() {
    $('#bb').click(function(){
        $("#text").toggle(); // ссылка на элемент text, говорим чтобы при клике менял видимость этого элемента
    });
});

Последний раз редактировалось depp, 08.07.2014 в 04:19.
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2014, 12:16
Интересующийся
Отправить личное сообщение для AllReady Посмотреть профиль Найти все сообщения от AllReady
 
Регистрация: 08.07.2014
Сообщений: 12

Сообщение от depp Посмотреть сообщение
вот ответ на ваш вопрос:
http://hashcode.ru/questions/126487/...%D1%82%D 1%8C

по коду есть несколько замечаний. так как используете jquery, то лучше написать так:
$(function() {
    $('#bb').click(function(){
        $("#text").toggle(); // ссылка на элемент text, говорим чтобы при клике менял видимость этого элемента
    });
});
Спасибо. На второй ответ не обратил внимания, т.к. рейтинг поста был -2, добавил в условие еще и || test.style.display == '' и все получилось. Про toogle я слышал, просто интересно было, почему все же не срабатывал код...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить чтобы параметр обновлялся? Alexsher Общие вопросы Javascript 23 18.06.2014 22:05
Как передать параметр при загрузке файла? iceworm jQuery 1 27.04.2014 09:38
Передать параметр при ajax rafaello AJAX и COMET 5 10.04.2014 11:25
jQuery, Страны-Города, не передается параметр подгружаемой формы MCB AJAX и COMET 0 15.01.2012 13:46
Как запомнить в переменную параметр объкта style? Paska Элементы интерфейса 6 10.05.2010 22:09