Я не очень хорошо с Javascript и JQuery, но пытается изучить и сделать работу несколько сценариев :) У меня есть этот сценарий работы:Изменение идентификаторов для классов разбивает мой код
jQuery(document).ready(function($) {
var scroll_start = 0;
var startchange = $('#homepage-header');
var offset = startchange.offset();
if (startchange.length) {
$(document).scroll(function() {
scroll_start = $(this).scrollTop();
if (scroll_start >= offset.top) {
$("#nav-toggle em").css('background-color', '#ffffff');
}
});
}
});
jQuery(document).ready(function($) {
var scroll_start = 0;
var startchange = $('#cosafacciamo');
var offset = startchange.offset();
if (startchange.length) {
$(document).scroll(function() {
scroll_start = $(this).scrollTop();
if (scroll_start >= offset.top) {
$("#nav-toggle em").css('background-color', '#000000');
}
});
}
});
jQuery(document).ready(function($) {
var scroll_start = 0;
var startchange = $('#successo');
var offset = startchange.offset();
if (startchange.length) {
$(document).scroll(function() {
scroll_start = $(this).scrollTop();
if (scroll_start >= offset.top) {
$("#nav-toggle em").css('background-color', '#ffffff');
}
});
}
});
jQuery(document).ready(function($) {
var scroll_start = 0;
var startchange = $('#blog');
var offset = startchange.offset();
if (startchange.length) {
$(document).scroll(function() {
scroll_start = $(this).scrollTop();
if (scroll_start >= offset.top) {
$("#nav-toggle em").css('background-color', '#000000');
}
});
}
});
jQuery(document).ready(function($) {
var scroll_start = 0;
var startchange = $('#contatti');
var offset = startchange.offset();
if (startchange.length) {
$(document).scroll(function() {
scroll_start = $(this).scrollTop();
if (scroll_start >= offset.top) {
$("#nav-toggle em").css('background-color', '#ffffff');
}
});
}
});
Тогда я попытался упростить этот скрипт с этим:
jQuery(document).ready(function($) {
var scroll_start = 0;
var startchange = $('.white');
var offset = startchange.offset();
if (startchange.length) {
$(document).scroll(function() {
scroll_start = $(this).scrollTop();
if (scroll_start > offset.top) {
$("#nav-toggle em").css('background-color', '#ffffff');
}
});
}
});
jQuery(document).ready(function($) {
var scroll_start = 0;
var startchange = $('.dark');
var offset = startchange.offset();
if (startchange.length) {
$(document).scroll(function() {
scroll_start = $(this).scrollTop();
if (scroll_start > offset.top) {
$("#nav-toggle em").css('background-color', '#000000');
}
});
}
});
Очевидно я поставил .white и .dark классы, где находятся идентификаторы, но этот второй сценарий работает только в течение первых двух блоков (# домашней страницы-заголовок и #cosafacciamo), а затем нав-тумблер Безразлично Больше не меняйте цвет.
Почему первый скрипт работает правильно, а не второй? Что я делаю неправильно?
Пожалуйста, помогите! Спасибо;)
FYI: Вам нужен только один экземпляр 'JQuery (документ) .ready (функция ($) {', чтобы обернуть всю остальную часть кода – Blazemonger
Поскольку 'ids'. target one element, classes предназначают для всех элементов класса. Вероятно, вам нужно что-то вроде 'var startchange = $ ('. dark'). eq (0);' – Andy
Хороший чистый код. Как сказал Blazemonger, вам нужен только один экземпляр. Я рекомендую вам использовать функции, чтобы сделать его более читаемым. – Sapikelio