audisport
-
Posts
7 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Posts posted by audisport
-
-
Я думаю, там всё же destination - 150
да простите, ошибся, destination - 150
-
сделал)
в эту строчку надо добавить свои пиксели: $('html,body').animate({ scrollTop: destination }, 800, 'swing');
и выглядит это вот так:
$('html,body').animate({ scrollTop: destination 150}, 800, 'swing');
-
куда в код вставить заветные пиксели
Открываем код в редакторе, жмём Ctrl+F, ищем "linkOffset", как было написано ранее; найдя, пишем "- X", где X - число пикселей.
Простите, там 4 раза указан linkOffset. Я понял, что к нему надо дописать, но в каком виде и в каких из 4-х мест, что бы браузр это правильно слопал?
Спасибо.
if ($(hrefValue).length > 0) { var linkOffset = $(this.hash).offset().top; scrollToDestination(linkOffset, heightDifference); } else if ($('a[name=' + strippedHref + ']').length > 0) { var linkOffset = $('a[name=' + strippedHref + ']').offset().top; scrollToDestination(linkOffset, heightDifference);
-
Так там и так скролл на js сделан. Если не ошибаюсь, то тут https://smart-remont.com/sites/all/modules/scroll_to_destination_anchors/scroll_to_destination_anchors.js?nqtc4s
Просто вычтите высоту меню из linkOffset.
Большое спасибо, а подскажите, пожалуйста, куда в код вставить заветные пиксели?
В js я пока что ноль...
(function($) {Drupal.behaviors.scrolltoanchors = { attach: function(context, settings) { $(document).ready(function(){ function validateSelector(a) { return /^#[a-z]{1}[a-z0-9_-]*$/i.test(a); } function scrollToDestination(a, { if (a > { destination = b; } else { destination = a; } $('html,body').animate({ scrollTop: destination }, 800, 'swing'); } $('a[href^="#"]', context).click(function(event) { event.preventDefault(); var hrefValue = $(this).attr('href'); var strippedHref = hrefValue.replace('#',''); var heightDifference = $(document).height() - $(window).height(); if (validateSelector(hrefValue)) { if ($(hrefValue).length > 0) { var linkOffset = $(this.hash).offset().top; scrollToDestination(linkOffset, heightDifference); } else if ($('a[name=' + strippedHref + ']').length > 0) { var linkOffset = $('a[name=' + strippedHref + ']').offset().top; scrollToDestination(linkOffset, heightDifference); } } }); }); }};}(jQuery));
-
Сделайте якорь невидимым и установите его повыше (на размер меню).
то есть вы предлагаете сделать еще по одному невидимому блоку для каждого уже имеющегося на сайте, которые будут выше чем видимые?
Спасибо, за предложение.
Может у кого-то есть еще мысли?
-
Добрый день!
Уже двое суток голову ломаю, как сделать так, чтобы при нажатии на якорь блок не заезжал за фиксированное меню сверху?
Сайт на котором это творится: https://smart-remont.com/
Помогите, пожалуйста.
переход на якорь заезжает за верхний фиксированный блок.
in HTML Coding
Posted
возник еще один интересный вопрос, а как вместо цифирек пикселей указать там код который будет брать значение высоты из верхнего фиксированного меню?
Спрашиваю потому что в зависимости от разрешения экрана размеры верхнего меню будут изменятся.
Спасибо.