Я пытаюсь создать сайт с плавными возможностями прокрутки и фиксированным нижним колонтитулом, который останется в нижней части страницы со ссылками на каждый из соответствующих s, которые составляют содержание самой страницы.
Если я включаю только js для нижнего колонтитула, нижний колонтитул работает (например, http://www.colinandmya.com/footertest/footer.html)
Однако, когда я включаю скрипт для плавного прокрутки, он убивает функциональность нижнего колонтитула (например, http://www.colinandmya.com/footertest/footerscroll.html)
Я имею ограниченное знание javascript, и тем более в jquery, но я могу обойтись с логикой, стоящей за ней.
Любая помощь будет принята с благодарностью.
Обычно, когда есть 2 сценария, которые противоречат друг другу, это потому, что они имеют имена переменных или что-то в этом роде, но в этом случае я не вижу никаких признаков этого. Насколько мне известно, вам не нужен javascript для фиксированного нижнего колонтитула.
javascript уже по умолчанию в браузере... который, я думаю, вы уже знаете.
Затем вы должны загрузить свои скрипты в нижнем колонтитуле, чтобы к тому моменту, когда читатель добрался туда, весь DOM уже был проанализирован, так как вам нужно знать, где этот нижний колонтитул и все, прежде чем "делать что-то" с ним с помощью javascript,
Итак, в начале, я бы удостоверился, что у вас есть все это в порядке важности в нижней части вашего </body>
<script src="jquery.js"></script>
<script src="your-footer.js"></script>
<script>
var your_function = function() {
// etc. your scroll stuff?
});
</script>
</body>
Это выводит его из потока и позиционирует его на основе внешнего окна - по сравнению с position: static;
это то, что есть по умолчанию.
.your-footer {
position: fixed;
width: 100%; /* maybe not necessary - already a block element */
left: 0;
bottom: 0;
}
var yourVariable = document.getElementById("yourID");
var yourVariable = $ ("# yourID");
jQuery - это всего лишь библиотека предварительно написанных функций, чтобы сделать javascript немного более кратким и разбираться во многих проблемах с несколькими браузерами, поэтому вам это не нужно.
Используйте другой скрипт для прокрутки. Самые маленькие из них всегда лучшие для таких вещей. Убедитесь, что переменные находятся в функции и в длинной форме, иначе они будут глобальными.
Просмотрите js и посмотрите, есть ли похожие переменные, которые могут быть конфликтующими.
scrollToFixed имеет много вещей для прокрутки и фиксированного позиционирования, которые могут конфликтовать с каким-либо другим кодом для фиксированного позиционирования и т.д. (также - я использовал этот скрипт раньше, и это было довольно проблематично). Поэтому я бы сказал, пропустите, что полностью.
Затем сложите его как можно проще в jsFiddle, как этот.
Имейте в виду, что сенсорные устройства на самом деле не справляются с фиксированным положением с апреля 2014 года, так что это проблема на iPad и т.д. Вот что такое CodePen для решения этой проблемы. Удачи!
JQuery.js
в JQuery.js
веб-страницы, так как любой скрипт, который вы зарегистрировали в теле, потерпит неудачу. Но это всего лишь я. Отличный подробный ответ Кстати