Показать сообщение отдельно
  #1 (permalink)  
Старый 31.05.2014, 20:26
Новичок на форуме
Отправить личное сообщение для fa_t Посмотреть профиль Найти все сообщения от fa_t
 
Регистрация: 31.05.2014
Сообщений: 2

Как поменять классы на jquery
Доброго времени суток друзья! Я полнейший нулевой новичок в jquery.
Прошу подсказки. Собственно в двух словах: При скролинге выезжает сверху меню и остаётся там в position:fixed. Всё работает, но не могу понять, как сделать так, чтобы уменьшить размеры меню. Я имею в виду, что в .default высота 100px и размеры шрифта и остальных элементов соответствующие. Но при скролинге, хочу высоту 50px, это работает, но как уменьшить в размере все элементы - не могу понять. В этом и состоит вопрос!!!
Вот код:
<script type="text/javascript"> 

$(document).ready(function(){
         
        var $menu = $("#header");
             
        $(window).scroll(function(){
            if ( $(this).scrollTop() > 180 && $menu.hasClass("default") ){
                $menu.fadeOut('fast',function(){
                    $(this).removeClass("default logo social")
                           .addClass("fixed logo-min social-min")
                           .slideDown('normal');
                });
            } else if($(this).scrollTop() <= 100 && $menu.hasClass("fixed")) {
                $menu.fadeOut('fast',function(){
                    $(this).removeClass("fixed logo-min social-min")
                           .addClass("default")
                           .fadeIn('fast');
                });
            }
        });
});
</script>


Html:
<div id="header" class="default">
          <div class="menu-social">
		        <div class="social">
		        <span class="fb"><a href="#" target="_blank" title="Добавляйся в Фейсбук"></a></span>
		        <span class="twitter"><a href="#" target="_blank" title="Добавляйся в Твиттер"></a></span>
		        <span class="g_plus"><a href="#" tabindex="_blank" title="Добавляйся в Гугл+"></a></span>
	        </div>
	        
	        <ul class="menu">
	    	   <li><a class="active" href="#">Главная</li> </a>
			   <li><a href="#">Блог</li> </a>
			   <li><a href="#">О сайте</li> </a>
	        </ul>
	        <a class="logo" href="#"><strong>Make-Together</strong>.ru</br><p>Aenean commodo ligula eget dolor. Aenean massa.</p></a>
          </div>
          </div>

Ну и css:
Код:
#header {
	overflow: hidden; 
}

.social {
	background: #319f9b; width: 130px; height: 50px; border-radius: 0 0 5px 5px;  float: right;
}

.social span a {
	float: left; width: 32px; height: 32px; margin: 8px 3px 5px 7px; 
}

.fb a {
	background: url(images/fb2.png);
}

.twitter a {
	background: url(images/twtt.png);
}

.g_plus a {
	background: url(images/g+.png);
}

.social-min {
	background: #fff; height: 0px; width: 0px; margin:0;
}

.menu {
	 clear: right; float: right; margin-top: 15px;
}

.menu li {
	float: left; font-size: 14px;  margin-right: 5px; text-transform: uppercase; width: 100px; text-align: center;
}

.menu li a {
	text-decoration: none; color: #555; text-shadow: 0 1px 0 #f3f3f3; display: block; transition: .5s;
}

.menu li a:hover {
	color:#319f9b; border-bottom: 2px solid #319f9b; 
}

.menu li a:active {
	color: #319f9b; border-bottom: 2px solid #319f9b;
}

.menu .active {
    color:#319f9b; border-bottom: 2px solid #319f9b; 	
}

.menu-social {
	width: 1351px; margin: 0 auto; padding: 0 50px;
}

.default {
	width: 1351px; height: 100px; margin: 0 auto; background: #fff; border-bottom: 1px solid #d9d9d9; 
}


.fixed {
	position:fixed; top:0px; left: 0px; z-index: 999; width: 100%; background: #fff; border-bottom: 1px solid #d9d9d9; height: 100px;
}

.logo {
	float: left; font-size: 32px; line-height: 1.2; color:#000; margin-top: -30px; display: block;
}

.logo strong {
	font-weight: bold; font-size: 38px; color: #515252;
}
.logo p {
	font-size: 14px;  text-shadow: 0 1px 0 #f3f3f3; text-shadow:none; color: #555;
}

a.logo:hover {

	text-decoration: none; color: #aaa;
}

.logo-min {
	 font-size: 26px; display: block;
}

.logo-min strong {
	font-weight: normal; font-size: 32px;
}

.logo-min p {
	font-size: 10px; color: #555;
}
P.S. Скрипт нашёл на просторах интернета, интуитивно понимаю как он работает, но как правильно всё сделать, не пойму. Насколько я понял, removeClass - удаляет класс, а addClass - добавляет. То есть, удалил + добавил = поменять? В css описываю 2 варианта классов, но не работает
Ответить с цитированием