A один вкладыш для вас:
const OBJECT = {
'key1': 'value1',
'key2': 'value2',
'key3': 'value3',
'key4': 'value4'
};
const value = 'value2';
const key = Object.keys(OBJECT)[Object.values(OBJECT).indexOf(value)];
window.console.log(key); // = key2
Если вам не нужны изменения для анимации, вам не нужно использовать какие-либо специальные плагины - я бы просто использовал собственный метод JavaScript window.scrollTo - передавая 0, 0 мгновенно прокручивает страницу в левый верхний
window.scrollTo(x-coord, y-coord);
Параметры
2019,
для обхода сайта “This, кажется, использует связанный с прокруткой эффект расположения. Это не может работать хорошо с асинхронным использованием panning” мой сценарий
Для этого вам не нужен jQuery. Стандартного тега HTML будет достаточно ...
<div id="jump_to_me">
blah blah blah
</div>
<a target="#jump_to_me">Click Here To Destroy The World!</a>
Вы можете просто использовать цель из вашей ссылки, например #someid, где #someid - это идентификатор div.
Или вы можете использовать любое количество подключаемых модулей прокрутки, которые сделают это более элегантно.
http://plugins.jquery.com/project/ScrollTo является примером.
Если вам нужна плавная прокрутка, попробуйте что-нибудь вроде этого:
$("a[href='#top']").click(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});
Для этого потребуется любой тег
, у которого href = "# top"
и сделайте плавную прокрутку вверх.
Чистое решение JavaScript:
function scrollToTop() {
window.scrollTo({
top: 0,
behavior: 'smooth'
});
я пишу анимированное решение на Codepen
кроме того, можно попробовать другое решение свойством CSS scroll-behavior: smooth
.
html {
scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}
}