2017-07-02 17 views
0

私は問題が発生したので、一晩中解決できません。実際に私が探しているもの。ヘッダーの一部だけをスクロールして固定する

enter image description here

「私が求めていますかを説明するための実際の見た目とツール」私はスクロールすると、青い部分があまりにもスクロールアップに行くが、トップに、スクロールアップするために赤い部分が欲しい:0PX私はそれがjQueryになると思うし、私は本当に悪いです。最高ののは、モバイルユーザーのためにちょうどCSSになります。誰かが私を助けてくれますか?ここに私のHTMLのマークアップです

<header> 
     <div ID="Banner"> 
      <br> 
      <h1>RISTORANTE PIZZERIE NA HRADBÁCH</h1> 
      <h3>ROZVOZ JÍDEL A PIZZY PO SLANÉM A OKOLÍ</h3> 
     </div> 
     <div id="Menu"> 

      <table > 
       <tr> 
        <td> 
         <asp:Button ID="homeButton" runat="server" Text="Domů" PostBackUrl="Home.aspx" /> 
        </td> 
        <td> 
         <asp:Button ID="dailyMenuButton" runat="server" Text="Denní Nabídka" PostBackUrl="DailyMenu.aspx" /> 
        </td> 
        <td> 
         <asp:Button ID="diningMenuButton" runat="server" Text="Jídelní Menu" PostBackUrl="DiningMenu.aspx" /> 
        </td> 
        <td> 
         <asp:Button ID="contactsButton" runat="server" Text="Kontakt" PostBackUrl="Contacts.aspx" /> 
        </td> 
       </tr> 
      </table> 
     </div> 
    </header> 
    <div ID="Content"> 
     <asp:ContentPlaceHolder ID="MainContent" runat="server"> 
     </asp:ContentPlaceHolder> 
    </div> 

答えて

0

それは働いた。

jQueryの

var distance = $('#Menu').offset().top, 
$window = $(window); 

$(document).ready(function() { 

$(document).scroll(function() { 
    if ($window.scrollTop() >= distance) { 
     $("#Menu").addClass('MenuOnTop'); 
     $("#Content").addClass('ContentStep'); 
    } else { 
     $("#Menu").removeClass('MenuOnTop'); 
     $("#Content").removeClass('ContentStep'); 
    } 

}); 
}); 

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

    .ContentStep{ 
    margin-top:120px; 
} 

html, body { 
    width: 100%; 
    font-family: 0; 
    margin: 0; 
    padding: 0; 
    overflow: visible; 
} 

最大の問題は、最初のdidntのために、身体上の変数NADオーバーフローとしてWindowsを使用していたCSSは、いずれかを設定しますが、目に見えるを設定する仕事をしてくれています。 Junaid Ahmedにキックアップしてくれてありがとう。

+0

これは、私の回答から私のコードに間違いがないことを意味しますが、あなたのCSSコードは私のJSと競合するいくつかのプロパティを持っていました。 – Junaid

0

これはCSSでのみできません。これを行うjQueryがあります。私はコードをテストしなかったが、結果が何であるかを教えてくれた。

var $menu = $("#Menu"), 
    menuStart = $menu.offset().top(); 

$(window).scroll(function() { 
    if ($(window).scrollTop() > menuStart){ 
     $menu.addClass('menu-stick'); 
    } else { 
     $menu.removeClass('menu-stick'); 
    } 
}); 

CSS

#Menu { 
    position: relative; 
} 

.menu-stick { 
    position: fixed; 
} 
+0

試してみていただきありがとうございます。 –

+0

コードを再生し、適切と思われるコードを変更します。それでも問題が解決しない場合は、コードを再度投稿してください。お手伝いします。 – Junaid

+0

それは働いて、あなたのコードといくつかの研究を行った。ありがとう! –

0

あなたは簡単にナビゲーションバーにposition: stickyを追加することによって、純粋なCSSでこれを達成することができます。

Browser Support

+0

私はちょっとバカバカしたバグを使用することを心配しています。/ –

関連する問題