2013-08-18 3 views
4

Мне нужна помощь с моим JQuery.Изменить заголовок css после прокрутки

Я хотел бы изменить css заголовка после прокрутки, но не могу заставить его работать. Единственное, что должно измениться в css, - это margin to 65px и удалить логотип.

Here is the code

#menuheader { 
background: -webkit-gradient(linear, center top, center bottom, from(#fff),to(#ccc)); 
background-image: linear-gradient(#fff, #ccc); 
box-shadow: 3px 3px 3px 3px #333; 
height: 40px; 
position: relative; 
margin: 165px auto 0; 
z-index: 10;} 

Большое спасибо заранее. Jason

ответ

8

Предполагая, что вы хотите изменить CSS после прокрутки за определенную точку, а затем верните CSS, как только вы прокрутите назад до определенной точки, с помощью jQuery:

$(window).scroll(function() { 

    //After scrolling 100px from the top... 
    if ($(window).scrollTop() >= 100) { 
     $('#logo').css('display', 'none'); 
     $('#menuheader').css('margin', '65px auto 0'); 

    //Otherwise remove inline styles and thereby revert to original stying 
    } else { 
     $('#logo, #menuheader').attr('style', ''); 

    } 
}); 

Тогда все, что вам нужно сделать, это поменять 100 с любой точкой (количество пикселей вниз от верхней части, при прокрутке) вы хотите CSS быть выгружен в.

http://jsfiddle.net/dJh8w/4/

+0

Спасибо за ваше объяснение. Он работает точно так, как я хотел. – Jssonline

0

Привяжите функцию к .scroll() и укажите на $("#menuheader") и сделайте все, что хотите. :)

1

Plese уточнить свой вопрос. Вам просто нужен jquery для изменения поля? или какой-то обработчик прокрутки? Вот код для изменения маржи: JSFiddle:

$('#menuheader').attr("style", "margin:100px auto 0"); 
0

проверить этот сайт:

http://jsfiddle.net/fbSbT/1/

Вы можете изменить последнюю функцию:

$(document).on("scrollstop",function() { 
    $('#menuheader').css("margin","65px"); 
    $('#menuheader').css("background",""); 
}); 
+0

Это работает! Благодарю. Только 1 вещь, когда я прокручиваю назад, css не возвращается к исходному css. Как я могу это исправить? [link] (http://jsfiddle.net/jssonline/dJh8w/) (я начинаю в jQuery) – Jssonline

+0

Вы хотите изменить css до нормального, когда #menuheader снова станет видимым? – esonat

+0

Я исправил его уже – Jssonline