我的JQuery需要一些帮助。
我想在滚动后更改标题的CSS,但无法使其正常工作。唯一必须在css中改变的是65px的边距并删除徽标。
#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;}
非常感谢提前。 杰森
答案 0 :(得分:10)
假设您想在滚动超过某一点后更改CSS,然后在使用jQuery滚动回特定点后还原CSS:
$(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。
答案 1 :(得分:1)
请澄清你的问题。你只需要jquery来改变保证金吗?还是某种滚动处理程序?以下是更改保证金的代码:JSFiddle:
$('#menuheader').attr("style", "margin:100px auto 0");
答案 2 :(得分:0)
将函数绑定到.scroll()
并指向$("#menuheader")
并执行您想要的任何操作。 :)
答案 3 :(得分:0)
查看此网站:
您可以将最后一项功能更改为:
$(document).on("scrollstop",function() {
$('#menuheader').css("margin","65px");
$('#menuheader').css("background","");
});
答案 4 :(得分:0)
您可以通过一个简单的Java脚本来完成
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 80 || document.documentElement.scrollTop > 80) {
document.getElementById("header").style.padding = "1em 2em";
} else {
document.getElementById("header").style.padding = "2em 3em";
}
}