Почему я не могу запустить эти два javascript одновременно? (Гладкая прокрутка и фиксированный нижний колонтитул)

0

Я пытаюсь создать сайт с плавными возможностями прокрутки и фиксированным нижним колонтитулом, который останется в нижней части страницы со ссылками на каждый из соответствующих s, которые составляют содержание самой страницы.

Если я включаю только js для нижнего колонтитула, нижний колонтитул работает (например, http://www.colinandmya.com/footertest/footer.html)

Однако, когда я включаю скрипт для плавного прокрутки, он убивает функциональность нижнего колонтитула (например, http://www.colinandmya.com/footertest/footerscroll.html)

Я имею ограниченное знание javascript, и тем более в jquery, но я могу обойтись с логикой, стоящей за ней.

Любая помощь будет принята с благодарностью.

  • 0
    Почему вы используете scrollToFixed.js для фиксированного нижнего колонтитула? Знаете ли вы, что вы можете сделать это с помощью 5 строк CSS? Кроме того, что вы подразумеваете под плавной прокруткой? Вам не хватает гладкой полосы прокрутки?
  • 0
    Теперь я вижу проблему со свитком. Вы хотите, чтобы ссылки инициировали действие прокрутки.
Показать ещё 1 комментарий
Теги:

1 ответ

1

первые мысли

Обычно, когда есть 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>


Фиксированный footer CSS

Это выводит его из потока и позиционирует его на основе внешнего окна - по сравнению с position: static; это то, что есть по умолчанию.

.your-footer {
    position: fixed;
    width: 100%; /* maybe not necessary - already a block element */
    left: 0;
    bottom: 0;
}

jQuery - это javascript

JS

var yourVariable = document.getElementById("yourID");

JQuery

var yourVariable = $ ("# yourID");

jQuery - это всего лишь библиотека предварительно написанных функций, чтобы сделать javascript немного более кратким и разбираться во многих проблемах с несколькими браузерами, поэтому вам это не нужно.

Что я буду делать

Используйте другой скрипт для прокрутки. Самые маленькие из них всегда лучшие для таких вещей. Убедитесь, что переменные находятся в функции и в длинной форме, иначе они будут глобальными.

Просмотрите js и посмотрите, есть ли похожие переменные, которые могут быть конфликтующими.

scrollToFixed имеет много вещей для прокрутки и фиксированного позиционирования, которые могут конфликтовать с каким-либо другим кодом для фиксированного позиционирования и т.д. (также - я использовал этот скрипт раньше, и это было довольно проблематично). Поэтому я бы сказал, пропустите, что полностью.

Затем сложите его как можно проще в jsFiddle, как этот.

Имейте в виду, что сенсорные устройства на самом деле не справляются с фиксированным положением с апреля 2014 года, так что это проблема на iPad и т.д. Вот что такое CodePen для решения этой проблемы. Удачи!

  • 0
    Я согласен со всем, что вы предложили, за исключением регистрации JS. Я всегда регистрировал бы подобные JQuery.js в JQuery.js веб-страницы, так как любой скрипт, который вы зарегистрировали в теле, потерпит неудачу. Но это всего лишь я. Отличный подробный ответ Кстати
  • 0
    @Qpirate Я обычно добавляю jQuery и другие зависимости к одному файлу, который затем сжимается и вызывается из последней строки тела. У меня еще не было проблем с этим. Я думаю, я просто никогда не помещаю js в тело. Я держу все свои сценарии отдельно.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню