2016-03-27 91 views
1

我對網站使用了adtile的固定響應導航(demo here)。它的工作原理非常完美,除了一件事情:首先,我希望標題背景顏色透明,然後在向下滾動到關於部分時淡入。如果可能,當關於鏈接顏色改變時,標題背景應該具有100%的不透明度。我真的失去了如何使這項工作,所以任何幫助將不勝感激!滾動樣式響應固定導航

我做了一個jsfiddle here,但是有很多Javascript,因此可能更容易在GitHub here上查看回購。

HTML:

<header> 
    <a href="#home" class="logo" data-scroll>Fixed Nav</a> 
    <nav class="nav-collapse"> 
    <ul> 
     <li class="menu-item active"><a href="#home" data-scroll>Home</a></li> 
     <li class="menu-item"><a href="#about" data-scroll>About</a></li> 
     <li class="menu-item"><a href="#projects" data-scroll>Projects</a></li> 
     <li class="menu-item"><a href="#blog" data-scroll>Blog</a></li> 
    </ul> 
    </nav> 
</header> 

<section id="home"> 
    <h1>Fixed Nav</h1> 
    <p>The code and examples are hosted on GitHub and can be <a href="https://github.com/adtile/fixed-nav">found from here</a>. Read more about the approach from&nbsp;<a href="http://blog.adtile.me/2014/03/03/responsive-fixed-one-page-navigation/">our&nbsp;blog</a>.</p> 
</section> 

<section id="about"> 
    <h1>About</h1> 
</section> 

<section id="projects"> 
    <h1>Projects</h1> 
</section> 

<section id="blog"> 
    <h1>Blog</h1> 
</section> 

CSS:

body, div, 
h1, h2, h3, h4, h5, h6, 
p, blockquote, pre, dl, dt, dd, ol, ul, li, hr, 
fieldset, form, label, legend, th, td, 
article, aside, figure, footer, header, hgroup, menu, nav, section, 
summary, hgroup { 
    margin: 0; 
    padding: 0; 
    border: 0; 
} 

a:active, 
a:hover { 
    outline: 0; 
} 

@-webkit-viewport { width: device-width; } 
@-moz-viewport { width: device-width; } 
@-ms-viewport { width: device-width; } 
@-o-viewport { width: device-width; } 
@viewport { width: device-width; } 


/* ------------------------------------------ 
    RESPONSIVE NAV STYLES 
--------------------------------------------- */ 

.nav-collapse ul { 
    margin: 0; 
    padding: 0; 
    width: 100%; 
    display: block; 
    list-style: none; 
} 

.nav-collapse li { 
    width: 100%; 
    display: block; 
} 

.js .nav-collapse { 
    clip: rect(0 0 0 0); 
    max-height: 0; 
    position: absolute; 
    display: block; 
    overflow: hidden; 
    zoom: 1; 
} 

.nav-collapse.opened { 
    max-height: 9999px; 
} 

.disable-pointer-events { 
    pointer-events: none !important; 
} 

.nav-toggle { 
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    -o-user-select: none; 
    user-select: none; 
} 

@media screen and (min-width: 40em) { 
    .js .nav-collapse { 
    position: relative; 
    } 
    .js .nav-collapse.closed { 
    max-height: none; 
    } 
    .nav-toggle { 
    display: none; 
    } 
} 


/* ------------------------------------------ 
    DEMO STYLES 
--------------------------------------------- */ 

body { 
    -webkit-text-size-adjust: 100%; 
    -ms-text-size-adjust: 100%; 
    text-size-adjust: 100%; 
    color: #37302a; 
    background: #fff; 
    font: normal 100%/1.4 sans-serif; 
} 

section { 
    border-bottom: 1px solid #999; 
    text-align: center; 
    padding: 100px 0 0; 
    height: 800px; 
    width: 100%; 
} 

h1 { 
    margin-bottom: .5em; 
} 

p { 
    width: 90%; 
    margin: 0 auto; 
} 


/* ------------------------------------------ 
    FIXED HEADER 
--------------------------------------------- */ 

header { 
    background: #f4421a; 
    position: fixed; 
    z-index: 3; 
    width: 100%; 
    left: 0; 
    top: 0; 
} 

.logo { 
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
    text-decoration: none; 
    font-weight: bold; 
    line-height: 55px; 
    padding: 0 20px; 
    color: #fff; 
    float: left; 
} 


/* ------------------------------------------ 
    MASK 
--------------------------------------------- */ 

.mask { 
    -webkit-transition: opacity 300ms; 
    -moz-transition: opacity 300ms; 
    transition: opacity 300ms; 
    background: rgba(0,0,0, .5); 
    visibility: hidden; 
    position: fixed; 
    opacity: 0; 
    z-index: 2; 
    bottom: 0; 
    right: 0; 
    left: 0; 
    top: 0; 
} 

.android .mask { 
    -webkit-transition: none; 
    transition: none; 
} 

.js-nav-active .mask { 
    visibility: visible; 
    opacity: 1; 
} 

@media screen and (min-width: 40em) { 
    .mask { 
    display: none !important; 
    opacity: 0 !important; 
    } 
} 


/* ------------------------------------------ 
    NAVIGATION STYLES 
--------------------------------------------- */ 

.fixed { 
    position: fixed; 
    width: 100%; 
    left: 0; 
    top: 0; 
} 

.nav-collapse, 
.nav-collapse * { 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box; 
} 

.nav-collapse, 
.nav-collapse ul { 
    list-style: none; 
    width: 100%; 
    float: left; 
} 

@media screen and (min-width: 40em) { 
    .nav-collapse { 
    float: right; 
    width: auto; 
    } 
} 

.nav-collapse li { 
    float: left; 
    width: 100%; 
} 

@media screen and (min-width: 40em) { 
    .nav-collapse li { 
    width: auto; 
    } 
} 

.nav-collapse a { 
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
    border-top: 1px solid white; 
    text-decoration: none; 
    background: #f4421a; 
    padding: 0.7em 1em; 
    color: #fff; 
    width: 100%; 
    float: left; 
} 

.nav-collapse a:active, 
.nav-collapse .active a { 
    background: #b73214; 
} 

@media screen and (min-width: 40em) { 
    .nav-collapse a { 
    border-left: 1px solid white; 
    padding: 1.02em 2em; 
    text-align: center; 
    border-top: 0; 
    float: left; 
    margin: 0; 
    } 
} 

.nav-collapse ul ul a { 
    background: #ca3716; 
    padding-left: 2em; 
} 

@media screen and (min-width: 40em) { 
    .nav-collapse ul ul a { 
    display: none; 
    } 
} 


/* ------------------------------------------ 
    NAV TOGGLE STYLES 
--------------------------------------------- */ 

@font-face { 
    font-family: "responsivenav"; 
    src:url("../icons/responsivenav.eot"); 
    src:url("../icons/responsivenav.eot?#iefix") format("embedded-opentype"), 
    url("../icons/responsivenav.ttf") format("truetype"), 
    url("../icons/responsivenav.woff") format("woff"), 
    url("../icons/responsivenav.svg#responsivenav") format("svg"); 
    font-weight: normal; 
    font-style: normal; 
} 

.nav-toggle { 
    -webkit-font-smoothing: antialiased; 
    -moz-osx-font-smoothing: grayscale; 
    text-decoration: none; 
    text-indent: -300px; 
    position: relative; 
    overflow: hidden; 
    width: 60px; 
    height: 55px; 
    float: right; 
} 

.nav-toggle:before { 
    color: #fff; /* Edit this to change the icon color */ 
    font: normal 28px/55px "responsivenav"; /* Edit font-size (28px) to change the icon size */ 
    text-transform: none; 
    text-align: center; 
    position: absolute; 
    content: "\2261"; /* Hamburger icon */ 
    text-indent: 0; 
    speak: none; 
    width: 100%; 
    left: 0; 
    top: 0; 
} 

.nav-toggle.active:before { 
    font-size: 24px; 
    content: "\78"; /* Close icon */ 
} 

JAVASCRIPT:

有代碼行數太多,以適應#2。請參閱GitHub here上的Javascript文件。

回答

0

嘗試使標題背景最初是透明的,並在滾動上將標題添加到標題上。

$(window).scroll(function() {  
var scroll = $(window).scrollTop(); 

if (scroll >= 800) { 
    $("header").addClass("darkHeader"); 
} else { 
    $("header").removeClass("darkHeader"); 
} 
}); 

根據您的要求設計新款式。希望這是你正在尋找的。

0

U可以通過JQuery的做到這一點只需先添加任何類歸屬鏈路即「家」 <li class="menu-item home active"><a href="#home" data-scroll>Home</a></li>然後在渦旋檢測,如果它是活動加載類到頭

例如

$(window).scroll(function(){ 
    if ($(".menu-item.home").hasClass("active")) { 
     $("header").addClass("default-header") 
    }else { 
     $("header").removeClass("default-header") 
    } 
}) 

比做

.default-header{ 
// your css code here for default/home section header 
} 
+0

我有點混淆你的問題,但據我瞭解,作爲用戶離開家節標題將改變 –