6

ここに見られるようなものを作る方法についてのアイデアhttp://studiompls.com/case-studies/crown-maple/

ヘッダーが小さくなり、ロゴが別のボタンに変わります。JSを書かずにCSSでできますか?

乾杯!


アップデート:

JSが必須の場合、学習するために推奨できるリンクはありますか? ありがとう。

4

5 に答える 5

8

使いやすい jquery:

$(window).scroll(function(){
if($(window).scrollTop() >= $('.header').outerHeight()) {
// put content here for if the page has scrolled 200 pixels
}
});

ただし、jsファイルがあることを確認してください

于 2013-07-20T06:55:03.323 に答える
5

jqueryでできます。とても簡単です。

ここにデモがあります:http://jsfiddle.net/jezzipin/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);
      }  
  }
});
于 2013-07-20T06:54:50.570 に答える
2

CSS のみを使用し、Javascript を使用しないフィドルを作成して、ほぼ同じ効果を実現しました。最初のセクションを下にスクロールすると、ヘッダーが小さくなり、アイコンが変化します。もちろん、上にスクロールすると、ヘッダーが再び大きくなり、元のアイコンに戻ります。2、3 の s 以外に難解なものは何もありません:hover(およびトランジションですが、それは単なるアイシングです。トランジションを認識しないブラウザーで動作します)。

これはまさにあなたが求めているものではないかもしれませんが、ユーザーが Javascript をオフにしている場合のフォールバックとして使用できます。

于 2013-07-20T09:29:28.473 に答える
2

ここにその効果に関するチュートリアル全体があり、jsなしではそれを行うことはできないと思います.スクロールをチェックする必要があり、たとえばjQueryUIでtoggleClassを実行する必要があるためです:)

それが役に立てば幸い ;)

乾杯

于 2013-10-30T19:17:35.703 に答える
0

ナビゲーションの内部要素のスタイルを設定する必要があるため、ナビゲーションにクラスを追加して内部アイテムをスタイルすることをお勧めします

<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;
}

ここにリンクがあります

于 2013-07-20T07:03:32.427 に答える