任何想法如何制作这样的东西在这里看到http://studiompls.com/case-studies/crown-maple/
标题变小,徽标更改为不同的按钮。不用写任何 JS 就可以用 CSS 完成吗?
干杯!
更新:
如果JS是必须的,您可以推荐任何学习链接吗?谢谢。
任何想法如何制作这样的东西在这里看到http://studiompls.com/case-studies/crown-maple/
标题变小,徽标更改为不同的按钮。不用写任何 JS 就可以用 CSS 完成吗?
干杯!
更新:
如果JS是必须的,您可以推荐任何学习链接吗?谢谢。
易于使用的jquery:
$(window).scroll(function(){
if($(window).scrollTop() >= $('.header').outerHeight()) {
// put content here for if the page has scrolled 200 pixels
}
});
确保你有一个 js 文件
你可以用jquery来做。这很容易。
这是一个演示:http: //jsfiddle.net/jezzpin/JJ8Jc/
$(function(){
$('#header_nav').data('size','big');
});
$(window).scroll(function(){
if($(document).scrollTop() > 0)
{
if($('#header_nav').data('size') == 'big')
{
$('#header_nav').data('size','small');
$('#header_nav').stop().animate({
height:'40px'
},600);
}
}
else
{
if($('#header_nav').data('size') == 'small')
{
$('#header_nav').data('size','big');
$('#header_nav').stop().animate({
height:'100px'
},600);
}
}
});
我做了一个只使用 CSS 而不是 Javascript 的小提琴来达到大致相同的效果:当你向下滚动到第一部分时,标题会变小,并且它的图标会发生变化。当然,当您向上滚动时,标题会再次增长并恢复其旧图标。只用几个:hover
s 就完成了(和一个转换,但这只是结冰;它适用于非转换感知浏览器)。
这可能不是您所追求的,但您可以将其用作后备,以防用户关闭 Javascript。
由于您需要为导航的内部元素设置样式,因此最好在导航上添加类以设置内部项目的样式
<div class="outer">
<div id="menu">addd</div>
和js
$(window).scroll(function () {
var sc = $(window).scrollTop();
if (sc > 50) {
$("#menu").addClass("big");
} else {
$("#menu").removeClass("big");
}
});
最后是CSS
#menu {
position:fixed;
height:50px;
background:#ccc;
left:0;
top:0;
float:left;
width:100%;
}
.outer {
height:800px;
}
#menu.big {
height:20px;
}
这是链接