html 代码
模拟内容
css 代码
*{padding: 0;margin: 0;}
.header{
width:100%;
position:fixed;
top:0;
left:0;
background: #fff;
z-index:6;
}
h3,h2{
width: 1180px;
margin: 0 auto;
line-height: 60px;
height: 60px;
}
h3{
height: 40px;
line-height: 40px;
text-align: right;
}
.header.active h3{
display: none;
}
.content{
width: 100%;
height: 1200px;
background: #ccc;
text-align: center;
line-height: 400px;
font-size: 60px;
}
javascript代码
// 用原生js的写法 需要引入jq
// 这里推荐 http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js
window.onload=function(){
var flag=true;
window.onscroll=function(e){
var num=getScrollOffset().y;
var header=document.getElementsByTagName('h3')[0];
if(num>2){
if(flag){
flag=false;
header.style.display="none"
}
}else{
if(!flag){
flag=true;
header.style.display="block"
}
}
}
}
/**
* 获取窗口滚动条的位置
*/
function getScrollOffset(){
// 除IE8及更早版本
if( window.pageXOffset != null ){
return {
x : window.pageXOffset,
y : window.pageYOffset
}
}
// 标准模式下的IE
if( document.compatMode == "css1Compat" ){
return {
x : document.documentElement.scrollLeft,
y : document.documentElement.scrollTop
}
}
// 怪异模式下的浏览器
return {
x : document.body.scrollLeft,
y : document.body.scrollTop
}
}
//用jq的写法
$(function(){
return;
var flag=true;
$(window).on("scroll",function(e){
var num =$(this).scrollTop();
if(num>2){
if(flag){
flag=false;
$(".header").addClass("active")
}
}else{
if(!flag){
flag=true;
$(".header").removeClass("active")
}
}
})
})
// 两种思想大同小异。一种是通过js直接操作元素。一种是通过js控制类名。而通过类名控制元素
// 希望采纳