Запустите $ ('a'). Animate (), когда свиток достигнет специального раздела.

0

У меня проблема с прокруткой.

Я по-прежнему новичок в jquery, мне просто удалось сделать панель анимацией, когда я нажимаю определенный тег "a", и прокручиваю окно до определенного div # id, для которого тег "a" имеет href (как якорь), но Я хочу, чтобы это было похоже на то, когда пользователь прокручивается вниз или до определенного раздела div # id, анимирующая панель перемещается к своей навигации "a", указывая, что это активная страница. Можете ли вы помочь, я буду очень этому благодарен...

HTML

   <!---------- navigation container [1] ---------->
    <div class="navigation-container">
        <div class="navigation-wrapper">
            <ul>
                <li class="home"><a href="#home-container">HOME</a></li>
                <li class="about"><a href="#about-container">ABOUT</a></li>
                <li class="services"><a href="#services-container">SERVICES</a></li>
                <li class="logo"><a href="#logo-container"><span style="visibility:hidden">LOGO</span></a></li>  
                <li class="clients"><a href="#clients-container">CLIENTS</a></li>
                <li class="portfolio"><a href="#portfolio-container">PORTFOLIO</a></li>
                <li class="contact"><a href="#contact-container">CONTACT</a></li>        
            </ul>
            <div class="bar-active"></div>      
        </div>
    </div>
    <!---------- navigation container [1] ---------->

    <!---------- home container [1] ---------->
    <div id="home-container">HOME</div>
    <!---------- home container [1] ---------->

    <!---------- about container [1] ---------->
    <div id="about-container">ABOUT</div>
    <!---------- about container [1] ---------->

    <!---------- services container [1] ---------->
    <div id="services-container">SERVICES</div>
    <!---------- services container [1] ---------->

    <!---------- clients container [1] ---------->
    <div id="clients-container">CLIENTS</div>
    <!---------- clients container [1] ---------->

    <!---------- portfolio container [1] ---------->
    <div id="portfolio-container">PORTFOLIO</div>
    <!---------- portfolio container [1] ---------->

    <!---------- contact container [1] ---------->
    <div id="contact-container">CONTACT</div>
    <!---------- contact container [1] ---------->

    <script>
        // JavaScript Document

    //as document is ready [1]
    $(document).ready (function(){


    //  active bar navigation moving [2]
    $('li.home').click(function(){
        $('div.bar-active').animate({left:'25px'},1000);    
    });
    $('li.about').click(function(){
        $('div.bar-active').animate({left:'148px'},1000);
    });
    $('li.services').click(function(){
        $('div.bar-active').animate({left:'270px'},1000);   
    });
    $('li.clients').click(function(){
        $('div.bar-active').animate({left:'635px'},1000);   
    });
    $('li.portfolio').click(function(){
        $('div.bar-active').animate({left:'758px'},1000);   
    });
    $('li.contact').click(function(){
        $('div.bar-active').animate({left:'881px'},1000);   
    });
    //  active bar navigation moving [2]


    //  scrolling anchor anim [2]
    $(function(){
        $('.navigation-wrapper a').on('click', function(e){
            e.preventDefault();
            var scrolldiv = $(this).attr('href');    
            $(scrolldiv).animatescroll({padding:50});
        });
    });
    //  scrolling anchor anim [2]
});
//as document is ready [1]
</script>

CSS

body {padding: 0; margin: 0;}

/*---------- header container [1] ----------*/
.navigation-container {width:100%; height:60px; background-color:#1a1a1a; position:fixed; top:0px;}
.navigation-wrapper {width:1015px; height:60px; background-color:#1a1a1a; margin:auto; font-family:oswaldbook; text-align:center; position:relative; color:#ededee;}
.navigation-wrapper ul { display:block; width:1015px; height:60px; background-color:#1a1a1a; margin-top:0px; padding:0px;}
.navigation-wrapper ul li {list-style:none; display:inline-block; background-color:#1a1a1a; text-decoration:none; }
.navigation-wrapper ul li a {display:block; height:40px; width:120px; display:block; cursor:pointer; background-color: #1a1a1a; padding-top:20px; text-decoration:none; color: #ededee; }
.navigation-wrapper ul li a:hover {color:white;}
.navigation-wrapper ul li.logo a { width:238px; height: 40px; display:block; display:block; background-color:none;}
.bar-active { width:111px; height:20px; background-color:yellow; position:absolute; left:25px; top:50px; z-index:1;}

/*---------- home container [1] ----------*/
#home-container {width:100%; height:600px; background-color:#ededee; margin-top:60px; padding-top:90px; padding-bottom:90px;}

/*---------- about container [1] ----------*/
#about-container {width:100%; height:600px; background-color:gold;padding-top:90px; }

/*---------- services container [1] ----------*/
#services-container {width:100%; height:600px; background-color:brown;padding-top:90px; }

/*---------- clients container [1] ----------*/
#clients-container {width:100%; height:600px; background-color:gold;padding-top:90px; }

/*---------- portfolio container [1] ----------*/
#portfolio-container {width:100%; height:600px; background-color:silver;padding-top:90px; }

/*---------- contact container [1] ----------*/
#contact-container {width:100%; height:600px; background-color:pink;padding-top:90px; }

вот моя скрипка: http://jsfiddle.net/Herza/y3GB4/1/

Теги:

1 ответ

2
Лучший ответ

Код Псевдоэ:

$(window).scroll(function(){
     var top = $(window).scrollTop();
     if( top > 200 ) {
         // Enable A
     } else if( top > 400 ) {
        // Enable B
    }
});
  • 0
    как я должен применить / добавить его в мою кодировку. Я немного запутался, я пытался, и это не сработало ...
  • 0
    Вау! оно работает! TNX много чувак, не думал, что это так просто!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню