Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.8430
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 22.08.2012, 18:38   #1
smsupport
Bitcoin сектант
 
Аватар для smsupport
 
Регистрация: 12.07.2009
Сообщений: 951
Бабло: $252685
Question jquery эффект смены бекграунда, хелп плз

Суть: сделать смену заднего фона кнопок при клике, дополнительно открывается скрытый блок с контентом. Я все сделал, вот только получилась проблема. При клике на кнопку она меняет свой фон и от открывает скрытый блок, при повторном клике, скрытый блок закрывается, но сам фон кнопки не меняется на изначальный. Не знаю как это решить. Мой код ниже. Фон каждой кнопки подгружается из спрайта, всего 2 кнопки и 4 положения (активно/неактивно).

Код:
<script type="text/javascript">
 
$(document).ready(function(){
 
        $(".slidingcat").hide();
        $(".showcat").show();
		

   $('.showcat').click(function(){
		
	$(".showcat").css("background-position","0 -43px"); - вывод активного положения	
	
	
	
	
    $(".slidingcat").slideToggle();
    });
 
});

$(document).ready(function(){
 
    $(".slidinginter").hide();
    $(".showinteres").show();
	
    $('.showinteres').click(function(){
   $(".showinteres").css("background-position","0 -129px"); - вывод активного положения	
    $(".slidinginter").slideToggle();
    });
 
});
 
</script>
__________________
Конвертирую РУ траф в реальные деньги тут
smsupport вне форума  
Старый 22.08.2012, 18:50   #2
Zond
Ебланнед
 
Регистрация: 01.04.2011
Сообщений: 47
Бабло: $17375
По умолчанию

>но сам фон кнопки не меняется на изначальный.

с чего это должно происходить, если в коде ты такого не делаешь?
при каждом клике у тебя происходит

вывод активного положения
.slideToggle();

тебе нужно ввести доп переменную по которой при клике будешь проверять положение кнопки.
что-то типа

if(isButtonActive) {
вернуть фон
скрыть блок
} else {
поменять фон
показать блок
}
Zond вне форума  
Старый 22.08.2012, 20:16   #3
smsupport
Bitcoin сектант
 
Аватар для smsupport
 
Регистрация: 12.07.2009
Сообщений: 951
Бабло: $252685
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Zond Посмотреть сообщение
>но сам фон кнопки не меняется на изначальный.

с чего это должно происходить, если в коде ты такого не делаешь?
при каждом клике у тебя происходит

вывод активного положения
.slideToggle();

тебе нужно ввести доп переменную по которой при клике будешь проверять положение кнопки.
что-то типа

if(isButtonActive) {
вернуть фон
скрыть блок
} else {
поменять фон
показать блок
}
А на примере это как?
__________________
Конвертирую РУ траф в реальные деньги тут
smsupport вне форума  
Старый 22.08.2012, 20:49   #4
Zond
Ебланнед
 
Регистрация: 01.04.2011
Сообщений: 47
Бабло: $17375
По умолчанию

типа такого
Цитата:
$(document).ready(function() {

$(".slidingcat,.slidinginter").hide();
$(".showcat,.showinteres").show();
window.isButtonActive = 0;
window.isButton1Active = 0;

$('.showcat').click(function() {
$(".slidingcat").slideToggle(); // показываем/прячем блок

if (window.isButtonActive == 0) {
$(".showcat").css("background-position", "0 -43px"); // меняем фон
window.isButtonActive = 1;
} else {
$(".showcat").css("background-position", "0 -20px"); // меняем фон на первоночальный
window.isButtonActive = 0;
}
});

$('.showinteres').click(function() {
$(".slidinginter").slideToggle(); // показываем/прячем блок

if (window.isButton1Active == 0) {
$(".showinteres").css("background-position", "0 -43px"); // меняем фон
window.isButton1Active = 1;
} else {
$(".showinteres").css("background-position", "0 -20px"); // меняем фон на первоночальный
window.isButton1Active = 0;
}
});

});
Zond вне форума