У меня есть веб-сайт WordPress, где я использую конструктор страниц Elementor (localhost), но я хочу иметь более продвинутые вещи без использования плагинов. Я хочу иметь липкий заголовок, который смещается на 30 30 30 0 px, прокручивая страницу вниз. (напр .: https://www.jorik.com/);
Я нашел надежный способ сделать это, используя код ниже. Я создал липкий заголовок в Elementor, также давая CSS ID и CSS-классы как «mheader», таким образом я могу ссылаться на элемент в коде и плагине.
1. Мой вопрос заключается не в том, чтобы быть программистом, где и как я должен определить свой CSS, когда я также использую JavaScript? Как я должен ссылаться на CSS?
2. В настоящее время я использую плагин Wordpress «Header and Footer script» для запуска моего скрипта, но я хотел бы добавить код вфункция дочерних тем. Я создал файл script.js в папке js. Как мне ссылаться в файле fuctions.php на скрипт в scripts.js?
3. Возможно ли иметь несколько реализованных условий / стилей после IF в JavaScript? Пример: document.getElementById ("mheader"). Style.marginTop = "30px";.style.marginLeft = "30px";?
Я также пытался добавить в functions.php. С плагином работает, но я уверен, что что-то не так с этим методом, потому что иногда работает, иногда нет.
Это добавлено в functions.php дочерней темы, и в настоящее время я не использую:
function scrollFunction() {
wp_enqueue_script( 'scrollFunction', get_template_directory() . '/js/script.js', array('jquery'), true);
}
add_action('wp_enqueue_scripts', 'scrollFunction');
Это в / js /Файл script.js, и он работает, только вставляя плагин Wordpress:
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 30 || document.documentElement.scrollTop > 30) {
document.getElementById("mheader").style.marginTop = "30px";
} else {
document.getElementById("mheader").style.marginTop = "0px";
}
if (document.body.scrollTop > 30 || document.documentElement.scrollTop > 30) {
document.getElementById("mheader").style.marginLeft = "30px";
} else {
document.getElementById("mheader").style.marginLeft = "0px";
}
if (document.body.scrollTop > 30 || document.documentElement.scrollTop > 30) {
document.getElementById("mheader").style.marginRight = "30px";
} else {
document.getElementById("mheader").style.marginRight = "0px";
}
if (document.body.scrollTop > 30 || document.documentElement.scrollTop > 30) {
document.getElementById("mheader").style.opacity = "0.9";
} else {
document.getElementById("mheader").style.opacity = "1";
}
}
Вот как он смещается: ПРАВОЕ ПОЛЯ НЕ РАБОТАЕТ