Я искал сайт и нашел похожие вопросы, но ни одно решение не решило мою проблему. Когда я перейду к нему, я пытаюсь сделать div, установленный поверх экрана. Но я получаю сообщение об ошибке:Получение ошибки «Невозможно прочитать свойство« сверху »неопределенного»
"(индекс): 59 неперехваченным TypeError: Не удается прочитать свойство 'сверху' неопределенной в (индекс): 59"
//store the element
var cache = '.faixatrabalho';
console.log(cache);
//store the initial position of the element
var vTop = $(cache).offset().top - parseFloat($cache.css('margin-top').replace(/auto/, 0));
$(window).scroll(function (event) {
// what the y position of the scroll is
var y = $(this).scrollTop();
// whether that's below the form
if (y >= vTop) {
// if so, ad the fixed class
$(cache).addClass('stuck');
} else {
// otherwise remove it
$cache.removeClass('stuck');
}
});
</script>
.faixatrabalho {
padding-top: 20px;
\t width: 100vw;
position: static;
top: 0px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="faixatrabalho">
<div id="trabalhoback" data-scroll-speed="3"></div>
\t <div class="titulo">Nosso Trabalho</div>
\t <div class="texto1">
\t \t <p > Exemple text</p>
\t </div>
</div>
I Я все еще изучаю jquery и не могу решить это.
Вы пытаетесь получить доступ к DOM элемента до DOM готова? Здесь не так много контекста. –
Посмотрите на [.ready()] (https://learn.jquery.com/using-jquery-core/document-ready/), второе примечание к вашему коду: 'var cache = '.faixatrabalho'; 'не сохраняет фактический элемент, а селектор. Если вы хотите кэшировать элемент, который вы можете сделать: 'var cache = $ ('. Faixatrabalho');' – empiric
Возможный дубликат [Uncaught TypeError: Невозможно прочитать свойство «верх» неопределенного] (http://stackoverflow.com/ вопросы/20175094/uncaught-typeerror-can not-read-property-top-of-undefined) – Christoph