Исправлено! Решение найдено в конце этого вопросаОстановить страницу от сколления по ссылке нажмите
Я работаю над веб-сайтом, на котором у меня есть страница индекса и информационная страница. Когда вы прокрутите страницу Индекса и нажмите ссылку на страницу «Информация», я хочу, чтобы страница «Информация» открывалась в той же позиции, на которой была прокручена страница «Индекс».
Я прочитал около ScrollSneak и несколько подобных вопросов и объяснений здесь, в Stackoverflow, но мог бы заставить его работать для себя. Я совершенно нуб на javascript, и я только начинаю изучать, как его использовать. Может ли кто-нибудь, возможно, дать мне пример, как на самом деле применить его к ссылке? Кажется, я не вижу, какой элемент действительно связывает его с реальной ссылкой.
кода я нашел и применил ниже (суть ссылка удалена, потому что я слишком низкую репутация, чтобы добавить больше чем 2 ссылки XD проверить ScrollSneak файла)
<!DOCTYPE html>
<html>
<head>
<!--i'm using jquery too -->
<script type="text/javascript" src="path/to/jquery.js"></script>
<!-- include scroll_sneak.js -->
<script type="text/javascript" src="path/to/scroll_sneak.js"></script>
<!-- now activate scroll sneak -->
<script type="text/javascript">
$(document).ready(function(){
var sneaky = new ScrollSneak(location.hostname);
// you want to prevent scrolling when form #my-form is submitted
document.getElementById('my-form').onsubmit = sneaky.sneak;
// or maybe you want to prevent scrolling whenever any link within
// a list-option is clicked:
$('li a').each(function(){
// note the use of 'this' instead of '$(this)', because we
// want the raw element, not the jQuery object
this.onclick = sneaky.sneak;
});
});
</script>
</head>
<body>
<a href="info.html"><img src="IMG/info_inactive.png" onmouseover="this.src='IMG/info_active.png'" onmouseout="this.src='IMG/info_inactive.png'" /></a>
...
</body>
</html>
Overlay код Im используя прямо сейчас
<script>
window.addEventListener("load", function(){
var load_screen = document.getElementById("load_screen");
document.body.removeChild(load_screen);
});
</script>
РЕШЕНИЕ!
Я смог найти рабочий код на this forum topic, податель нашел его в другой теме в Stackoverflow. Без лишнего шума код!
Прежде всего вам нужна функция чтения файлов cookie. Поместите это в разделе вашей страницы:
<script language="JavaScript">
function readCookie(name){
return(document.cookie.match('(^|;)'+name+'=([^;]*)')||0)[2]
}
</script>
Далее вы измените тег тела следующим образом:
<body onScroll="document.cookie='ypos=' + window.pageYOffset" onLoad="window.scrollTo(0,readCookie('ypos'))">
ВНИМАНИЕ! Протестировано в Chrome, Firefox и Safari. «Удивительно», это не работает в IE, но кто все-таки использует IE? -_-
Спасибо всем за помощь мне, это очень ценится;)
Спасибо за ответ! Я сейчас пытаюсь использовать этот код. Как вы сказали, и это на сайте W3schools, первый код должен автоматически прокручиваться до значения (500) страницы при открытии? Однако это, похоже, не работает так, как сейчас. Если я не понял. Я использую накладку div (погрузки), так как у моего сайта несколько тяжелых изображений, я не хочу, чтобы люди видели его загрузку. Может ли это повлиять на код прокрутки? (код добавлен в вопрос выше) – Elvalianon
Btw Я использую Chrome. – Elvalianon
Это не должно быть проблемой, и Chrome тоже. Но я думаю, что в этом случае было бы лучше сделать функцию скрипта на первой странице, чтобы прикрепить параметры к URL-адресу, а другой - на целевой странице (info.html в этом случае), чтобы получить URL-адрес. См. Решение Eclectic, я думаю, что он уже предоставил решение. :) – Taffer