У меня гладкий свиток с якорем и его работой отлично. Но этот JS является конфликтом с плагином, который я использую, поэтому мне нужно изменить сценарий.Smooth scroll div to div
Я хочу вместо якоря, я хочу использовать div. Но я не знаю, как это делается.
Примечание: существует ссылка href, где ссылка на другую страницу.
Вот сценарий, который я использую в настоящее время.
jQuery.noConflict();
jQuery(document).ready(function($){
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname){
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
Пример HTML, что мне нужно (я не знаю, если HTML в правильном формате):
<div id="#test"></div>
<div id="test"></div>
Обновлено:
Вот код от ответа ниже
jQuery.noConflict();
jQuery(document).ready(function($){
$('[data-anchor]').click(function(){
var target = $($(this).data('anchor'));
if (target.length){
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
}
});
});
Этот код работает, но если у div есть ссылка, указывающая на другую страницу, код не работает.
Пример HTML:
<div data-anchor="/testEnvironment/how-can-i-get-a-loan/#whocangetaloan"></div>
Этот HTML является местом другой страницы
<section id="#whocangetaloan"></section>
Показать HTML-код, пожалуйста. –
Для преходящих читателей - последний бит вопроса был решен с использованием обычных тегов 'a' для внешних ссылок. Код с атрибутами данных сделает такой же гладкий профиль страницы и оставит эти регулярные ссылки в одиночку. – Shikkediel