AMcoder - javascript, python, java, html, php, sql

Կպչուն նավիգացիոն տող jQuery-ով

Ես փորձում եմ ձեռք բերել կպչուն նավիգացիոն տող իմ վեբ էջի համար և խնդիրներ ունեմ իմ գտածի հետ: Միգուցե ինչ-որ մեկը կարող է օգնել ինձ:

«Կպչուն դիրքի» գաղափարը կայքէջում տարրերը կպչուն դարձնելն ու տեսանելի դարձնելն է: Այդ տարրերը սկզբում կլինեն իրենց դիրքում, իսկ հետո վեբ էջը ներքև ոլորելու դեպքում նրանց դիրքը կլինի ոլորման հետևից:

Ահա իմ ունեցածի հղումը, որը ցույց է տալիս նաև նավիգացիոն տողը:

Եվ այս ուղեցույցի հղումը, որը ես փորձեցի հետևել

Ահա մի քանի համապատասխան CSS.

/* Navigation bar */
#navi {
height: 40px;
width: 961px;
background: #1e416f;
font-size: 14px;
color: white;
text-transform: uppercase;
margin: 0 0 20px 0;
}

Ահա որոշ համապատասխան HTML.

<!-- NAVIGATION -->
 <div id="navi">
 <h1 class="logo"><a href="#">CAUL/CBUA</a></h1>

<ul id="primary-nav">
    <li><a href="#">Directories</a></li>
    <li><a href="#">Committees</a></li>
    <li><a href="#">Resources</a></li>
    <li><a href="#">About</a></li>
</ul>

<ul id="tools-nav">
    <li class="login"><a href="#">Log In</a></li>
    <li class="email icon"><a href="#">Email</a></li>
    <li class="twitter icon"><a href="#">Twitter</a></li>
    <li class="search icon"><a href="#">Search</a></li>
</ul>
</div>

Ես չեմ պատրաստվում անհանգստանալ զետեղել այն, ինչ ես եմարել, քանի որ ձեռնարկում ընդհանրապես շատ բան չկա: միակ բանը, որ ես փոխել եմ այն, ինչ տեսնում եք այդ ձեռնարկում, այն է, որտեղ երբևէ ասվում է nav, ես այն փոխեցի navi, քանի որ դա այն է, ինչ ես ունեմ: իմ CSS-ում:

ԿԱՄ եթե որևէ մեկն ունի նմանատիպ այլ գաղափարներ, ես բաց եմ դրա համար:

27.08.2013


Պատասխանները:


1

jQuery Waypoints աներեւակայելի օգտակար է:

Դուք կարող եք ունենալ նավիգացիոն գծի փայտիկ, երբ այն հասնի էջի վերևին:

$('#navi').waypoint('sticky');

և ձեր CSS-ում

#navi .stuck { position:fixed; }

պետք է անել հնարք!

27.08.2013

2

jQuery լուծում, անցում դասերի միջև, CSS-ն օգտագործվում է ձեր կայքից փոքր հավելումներով, ահա jsFiddle http://jsfiddle.net/mdesdev/AVUH4/

HTML

<div id="navi" class="default">

  <h1 class="logo"><a href="#">CAUL/CBUA</a></h1>

  <ul id="primary-nav">
    <li><a href="#">Directories</a></li>
    <li><a href="#">Committees</a></li>
    <li><a href="#">Resources</a></li>
    <li><a href="#">About</a></li>
  </ul>

  <ul id="tools-nav">
    <li class="login"><a href="#">Log In</a></li>
    <li class="email icon"><a href="#">Email</a></li>
    <li class="twitter icon"><a href="#">Twitter</a></li>
    <li class="search icon"><a href="#">Search</a></li>
  </ul>

</div>

CSS

#navi {
  height: 40px;
  width: 961px;
  background: #1e416f;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 13px;
  color: white;
  text-transform: uppercase;
  letter-spacing: 1px;
}
#navi a:hover {
  background: white;
  color: #1e416f;
}
#navi .logo {
  margin: 0;
  padding: 0;
  float: left;
}
#navi .logo a {
  float: left;
  width: 56px;
  height: 40px;
  background: url(/imgs/navi/caul_white_nav.png) center no-repeat;
  text-indent: -9999px;
}
#navi .logo a:hover {
  background: url(/imgs/navi-hover/caul_blue_nav.png) center no-repeat;
  background-color: white;
}
#primary-nav, #tools-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
#primary-nav li, #primary-nav a, #tools-nav li, #tools-nav a {
  float: left;
}
#primary-nav a, #tools-nav a {
  color: white;
  text-decoration: none;
  padding: 0 10px;
  border-right: 1px solid white;
  line-height: 40px;
}
#tools-nav a:hover {
  color: #1e416f;
}
#primary-nav li:first-child a, #tools-nav li:first-child a {
  border-left: 1px solid white;
}
#tools-nav {
  float: right;
}
#tools-nav .icon a {
  text-indent: -9999px;
}
#tools-nav .email a {
  background: url(/imgs/navi/mail.png) no-repeat scroll center center transparent;
  width: 20px;
}
#tools-nav .email a:hover {
    background: url(/imgs/navi-hover/hover_mail.png) no-repeat scroll center center         transparent;
    width: 20px;
}
#tools-nav .twitter a {
    background: url(/imgs/navi/twitter.png) no-repeat scroll center center transparent;
    width: 20px;
}
#tools-nav .twitter a:hover {
    background: url(/imgs/navi-hover/hover-twitter.png) no-repeat scroll center center transparent;
    width: 20px;
}
#tools-nav .search a {
  background: url(/imgs/navi/search.png) no-repeat scroll center center transparent;
  width: 20px;
}
#tools-nav .search a:hover {
  background: url(/imgs/navi-hover/hover_search.png) no-repeat scroll center center transparent;
  width: 20px;
}
.default {
  margin: 0 0 20px 0;
}
.fixed {
  position: fixed;
  top: 0;
  left: 50%;
  margin-left: -480px;
}

jQuery

$(function() {

  var navi     = $( '#navi' ),
      naviOff  = navi.offset();

  $( window ).scroll(function() {

    if($( this ).scrollTop() >= naviOff.top + navi.height() && navi.hasClass( 'default' )) {

      navi.removeClass( 'default' ).addClass( 'fixed' ).fadeIn( 'fast' );
    } 
    else if($( this ).scrollTop() <= naviOff.top && navi.hasClass( 'fixed' )) {

      navi.removeClass( 'fixed' ).addClass( 'default' ).fadeIn( 'fast' );
    }

  });

});
31.08.2013
  • Եթե ​​դուք պատրաստվում եք օգտագործել սա, օգտագործեք այս կոդը, քանի որ jsFiddle-ում ես ավելացրել եմ wrapper div և որոշ հատկություններ html-ին և body-ին, որպեսզի հասնեմ էֆեկտին: 01.09.2013
  • BTW դուք պետք է սահմանեք CSS overflow-x: թաքնված; սեփականություն ձեր կայքի մարմնի համար, դուք ունեք հորիզոնական ոլորման տող;) 01.09.2013

  • 3

    Դուք պետք է ավելացնեք հետևյալի նման մի բան.

    #navi {
        position: fixed;
        top: 0px;
        left: 0px;
    }
    
    27.08.2013
    Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..