2015-01-10 3 views
-2

У меня есть эта проблема, когда моя навигационная панель не прокручивается до указанного div. Я посмотрел на другие примеры, но я не могу решить проблему.Прокрутите до div с помощью JS

<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script> 
</head> 

<li><a id="link1" href="#top-page">Intro</a></li> 
<li><a id="link2" href="#about">About</a></li> 
<li><a id="link3" href="#contact">Contact</a></li> 

<script> 
$("#link1").click(function() { 
$('html, body').animate({ 
    scrollTop: $("#top-page").offset().top 
}, 2000); 
}); 
$("#link2").click(function() { 
$('html, body').animate({ 
    scrollTop: $("#about").offset().top 
}, 2000); 
}); 
$("#link3").click(function() { 
$('html, body').animate({ 
    scrollTop: $("#contact").offset().top 
}, 2000); 
}); 
</script> 

jsfiddle - http://jsfiddle.net/4c0r2gzv/

Заранее спасибо

+0

У вас нет jQuery, загруженного в вашу демонстрационную версию. Кроме того, он будет работать лучше, если вы вызываете 'event.preventDefault()'. http://jsfiddle.net/ndcf5kjy/ –

+0

Кажется, все нормально работает ... – Shahar

+0

Я связал его с использованием , или я ошибаюсь, используя это? –

ответ

0

Вот скрипт для smoothscroll, который я думаю, что вы хотите:

$(function(){ 
    $(".scroll").click(function(){ 
     $("html,body").animate({scrollTop:$("#target").offset().top},"500");return false}) 
    }); 
}); 

Заменить .scroll с классом или использовать .scroll. Любой класс, который вы используете, должен применяться к якорю, который будет нажат. #target устанавливает назначение. Используйте свой собственный идентификатор или используйте #target. #target необходимо применить к месту назначения. Число - это время, необходимое для завершения анимации в миллисекундах; измените его на все, что захотите.