2015-10-18 9 views
1

Я начал новый проект для своего колледжа, и у моего кода возникли проблемы.Использование плавного прокрутки без ссылки на строку состояния

Когда я использую Smooth Scroll для перехода на другой якорь, в строке состояния появляется ссылка #name_of_the_anchor.

Smooth Scroll работает только в том случае, если я использую «href», поэтому в строке состояния будет отображаться ссылка каждого div.

Javascript:

$(document).ready(function(){ 
    $('a[href^="#"]').on('click',function (e) { 
     e.preventDefault(); 

     var target = this.hash, 
     $target = $(target); 

     $('html, body').stop().animate({ 
     'scrollLeft': $target.offset().left 
     }, 400, 'swing'); 
    }); 
}); 

Как я могу изменить этот код, чтобы не показывать ссылки на строке состояния, но сохраняя Гладкая прокрутки на моем сайте? Спасибо вам, ребята!

ответ

0

Вы могли бы сделать что-то подобное с вашей ссылке:

<a href="javascript:;" data-target="#anchor-name">My Link</a> 

А потом сделать что-то подобное с вашим JavaScript

$(document).ready(function(){ 
    $('a[data-darget]').on('click', function (e) { 
     e.preventDefault(); 

     var target = $(this).data('target'), 
     $target = $(target); 

     $('html, body').stop().animate({ 
      'scrollLeft': $target.offset().left 
     }, 400, 'swing'); 
    }); 
}); 

Что бы предотвратить поведение браузера по умолчанию. На самом деле это не самый лучший способ сделать это, хотя из-за того, что JavaScript не будет работать в любом случае (т. Е. Если пользователь отключил JS или что-то еще не запускает скрипты).

+0

Спасибо, что помогли мне! Я пытаюсь использовать этот код, но привязка не работает в «target-target». Любая другая идея? –