Javascript.RU

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

Вставка текста при открытии спойлера
Добрый день господа, прошу палками не бить, поиском пользовался но ответ на вопрос не нашел. Только учусь JQ и столкнулся со следующей проблемой. Создали спойлер
$(document).ready(function(){	
    $('.nyan').click(function(){
        $('div.splCont').toggle();
        return false;
    });
});


Соответственно при клике на див с классом nyan появляется div c классом splCont (изначально значение display:none ). Необходимо что бы при развернутом спойлере текст внутри дива nyan менялся с "РАЗВЕРНУТЬ" на "СВЕРНУТЬ".

Попробовал вот так:

$(document).ready(function(){
	
    $('.nyan').click(function(){
        $('div.splCont').toggle();
        return false;
	if ($('div.splCont').attr('display') != "none"){
		$('div.nyan').text("СВЕРНУТЬ");
	}
    });

});


Но не вышло. Где ошибся? Заранее большое спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 06.03.2013, 22:55
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от TrikS
Где ошибся?
display не атрибут некоего тега... Это свойство ЦСС.
Ответить с цитированием
  #3 (permalink)  
Старый 06.03.2013, 23:24
Новичок на форуме
Отправить личное сообщение для TrikS Посмотреть профиль Найти все сообщения от TrikS
 
Регистрация: 06.03.2013
Сообщений: 5

Сообщение от ksa Посмотреть сообщение
display не атрибут некоего тега... Это свойство ЦСС.
Спасибо за уточнение. Изменил вид функции на

$(document).ready(function(){
	
    $('.nyan').click(function(){
        $('div.splCont').toggle();
        return false;
	if ($('div.splCont').css("display", "none")){
		$('div.nyan').text("СВЕРНУТЬ");
	}
    });
});


Результат неизменный. Видимо я не верно ставлю условие, либо какая-то синтаксическая ошибка.

Так же попробовал так

$(document).ready(function(){
	
    $('.nyan').click(function(){
        $('div.splCont').toggle();
        return false;
	if ($('div.splCont').css("display") == "block"){
		$('div.nyan').text("СВЕРНУТЬ");
	}
    });
});

Последний раз редактировалось TrikS, 06.03.2013 в 23:27.
Ответить с цитированием
  #4 (permalink)  
Старый 06.03.2013, 23:29
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

$(document).ready(function(){
	
    $('.nyan').click(function(){
        $('div.splCont').toggleClass('visible').toggle();
	if ($('div.splCont').hasClass('visible')){
		$(this).text("СВЕРНУТЬ");
	} else 	$(this).text("РАЗВЕРНУТЬ");
        return false;
    });

});

Последний раз редактировалось Deff, 06.03.2013 в 23:32.
Ответить с цитированием
  #5 (permalink)  
Старый 06.03.2013, 23:33
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Выложите HTML - при текущем Варианте нет вложенности и будет воздействие на соседние спойлеры
Ответить с цитированием
  #6 (permalink)  
Старый 06.03.2013, 23:50
Новичок на форуме
Отправить личное сообщение для TrikS Посмотреть профиль Найти все сообщения от TrikS
 
Регистрация: 06.03.2013
Сообщений: 5

Сообщение от Deff Посмотреть сообщение
Выложите HTML - при текущем Варианте нет вложенности и будет воздействие на соседние спойлеры
Вложенности не будет. Спасибо огромное. Теперь сижу и пытаюсь расширить свои знания изучая Ваш способ. Он работает, просто стало интересно, что за класс visible Вы присвоили. Класс чего это, или это просто идентификационная метка?
Ответить с цитированием
  #7 (permalink)  
Старый 07.03.2013, 00:09
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от TrikS
. Класс чего это, или это просто идентификационная метка?
<script src="http://code.jquery.com/jquery-latest.js"></script>
<div>
<div class="splCont visible">ABC</div>
</div>
 <script>
var a = $("div.splCont").parent().html();
var b = $("div.visible").parent().html();
alert(a+'\n'+b)
$("div.splCont").html('BBB');
var b = $("div.visible").parent().html();
alert(b)
</script>

Последний раз редактировалось Deff, 07.03.2013 в 00:14.
Ответить с цитированием
  #8 (permalink)  
Старый 07.03.2013, 00:32
Новичок на форуме
Отправить личное сообщение для TrikS Посмотреть профиль Найти все сообщения от TrikS
 
Регистрация: 06.03.2013
Сообщений: 5

Правильно ли я понял:

$('div.splCont').toggleClass('visible').toggle(); // назначаем диву с классом splCont дополнительный класс visible. Назначается он при действии click, дальше по его наличию или отсутствию и выполняем условие.

Суть верна?
Ответить с цитированием
  #9 (permalink)  
Старый 07.03.2013, 00:43
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от TrikS
назначаем диву с классом splCont дополнительный класс visible. Назначается он при действии click, дальше по его наличию или отсутствию и выполняем условие.
Да
http://jquery-docs.ru/Attributes/toggleClass/#class
http://jquery-docs.ru/Attributes/removeClass/#class
http://jquery-docs.ru/Attributes/addClass/#class
http://jquery-docs.ru/Attributes/hasClass/#class
Ответить с цитированием
  #10 (permalink)  
Старый 07.03.2013, 01:03
Новичок на форуме
Отправить личное сообщение для TrikS Посмотреть профиль Найти все сообщения от TrikS
 
Регистрация: 06.03.2013
Сообщений: 5

Вопрос закрыт, спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка Javascript при открытии Opera КсюК Opera, Safari и др. 1 30.08.2012 11:40
Подскажите как убрать часть текста при нажатии на кномпу или гиперссылку. potkin Общие вопросы Javascript 6 10.10.2008 07:55
как при открытии окна закрыть предыдущее Евдокимова Events/DOM/Window 3 16.09.2008 17:12
Firefox: перехватить соббытие при перетаскивании текста no_alex Общие вопросы Javascript 9 21.08.2008 18:02
вывод нужного текста в текстовом поле при нажатии на кнопку! fifo4ka Общие вопросы Javascript 7 06.05.2008 13:36