2013-05-02 2 views
0

Я использую следующий, чтобы сделать какой-либо якорь с классом .jump-link свитка к ID это ссылающемуся в атрибуте href:JQuery прокрутка ID сценария только прокрутка вниз

// Scroll to ID 
$('.jump-link').click(function() { 
    var el = $(this).attr('href'), 
     elWrapped = $(el); 
    scrollToId(elWrapped, 40); 
    return false; 
}); 
function scrollToId(element, navheight) { 
    var offset = element.offset(), 
     offsetTop = offset.top, 
     totalScroll = offsetTop - navheight; 
    $('body,html').animate({ 
     scrollTop: totalScroll 
    }, 500); 
} 

К сожалению, хотя это только кажется прокрутка работы down страница. Мне также хотелось бы, чтобы скрипт работал, прокручивая страницу.

+0

Вы сказать, что она прокручивается вниз страницы всегда, независимо от ID упоминается? – dreamweiver

+2

[Работает в обоих направлениях здесь] (http://jsfiddle.net/447j6/). Вам нужно дополнительно изолировать вашу проблему, потому что проблема не воспроизводится в зависимости от того, что вы дали до сих пор. –

+0

Когда я изолирую проблему ([Fiddle] (http://jsfiddle.net/alecrust/MY7tb/)), похоже, работает так, как ожидалось. Очень странно. – AlecRust

ответ

0

Попробуйте это. Это будет работа.

$(".jump-link").click(function(){ 
var id = $(this).attr('href'); 
     $('html, body').animate({scrollTop: $("#"+id).offset().top}, 2000); 
}); 
+0

Замена этого сценария не работает, к сожалению. – AlecRust

+0

Будет сложно указать, что вам нужно изменить, когда сломанная часть вашего кода не включена в ваш вопрос. –

+0

Я не уверен, почему не работал, но использовал этот скрипт для меня. –

0

здесь код попробовать это

$(function() { 
    $('ul.nav a').bind('click',function(event){ 
     var $anchor = $(this); 
     $('html, body').stop().animate({ 
      scrollTop: $($anchor.attr('href')).offset().top 
     }, 1200); 
     event.preventDefault(); 
    }); 
}); 
+0

Замена этого сценария не работает, к сожалению. – AlecRust

+0

вы реализуете свой 'id' или' class', однако вы используете показ мне скрипку для исправления проблемы, которая определенно будет работать –

0
<script type="text/javascript"> 
     jQuery(document).ready(function($) { 
      $(".scroll").click(function(event){  
       event.preventDefault(); 
       $('html,body').animate({scrollTop:$(this.hash).offset().top},1200); 
      }); 
     }); 
    </script> 
Смежные вопросы