jquery прокрутить до data-image-id - PullRequest
0 голосов
/ 16 мая 2019

Я не могу установить идентификатор для контейнеров div с различными изображениями в них, но хочу создать навигацию со ссылками перехода к различным разделам галереи.Один элемент, который устанавливается на изображениях, которые я надеялся ввести, - это атрибуты данных.Может ли кто-нибудь помочь мне с функцией, которая позволила бы мне установить стандартную ссылку перехода

<a href="#abc123">A</a>

, чтобы перейти к изображению

<img src="asdf.jpg" data-image-id="abc123" />

Мой текущий удар в этом был следующий, но этовозвращает: «Не удалось выполнить querySelector для« Элемента »:« {id-in-the-href} »не является допустимым селектором в HTMLBodyElement.

$('#container a[href*="#"]').on('click', function(e) {
  e.preventDefault();
  var jumpTo = $(this).attr('href').replace('#', '');

  $('html, body').animate({
    scrollTop: $('img[data-image-id="'+jumpTo+'"]).offset().top,
  },
  500,'linear')}
)

1 Ответ

0 голосов
/ 17 мая 2019

вы можете использовать эту функцию (нужно установить id для атрибутов), а затем просто вызвать функцию с id param

    var scrollToBottom = function (jumpTo ) {
        div_height = $("#" + jumpTo ).height();
        div_offset = $("#" + jumpTo ).offset().top;
        window_height = $(window).height();
        $('html,body').animate({
            scrollTop: div_offset-window_height+div_height
        },'slow');
    };

или вы можете использовать$('img[data-image-id="' + jumpTo + '"]') вместо $("#"+jumpTo )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...