У меня проблема здесь, я хочу, чтобы левое боковое меню скользило вниз, когда оно достигает определенной точки на странице, и всегда оставалось наверху, пытаясь сделать это с помощью jQuery.Фиксированная позиция в css работает, но она не остается в верхней части окна при скольжении по странице, оставляет большой белый пробел.jQuery новичок здесь ...
Я получаю эту ошибку;
$(this).offset() is null
Полный код здесь
$(document).ready(function () {
$(window).scroll(function (event) {
var container = this;
var msie7 = $.browser.msie && $.browser.version < 8;
if (!msie7) {
var top = $(this).offset().top - parseFloat($(this).css('margin-top').replace(/auto/, 0));
$(window).scroll(function (event) {
var y = $(this).scrollTop() + 10;
if (y >= top) {
$(container).find("#dvContentAlpha").addClass('LeftMenuFixed');
} else {
$(container).find("#dvContentAlpha").removeClass('LeftMenuFixed');
}
});
}
});
});
CSS
#dvContentAlpha
{
width: 145px;
float: left;
margin-right: 35px;
position:fixed;
}
.LeftMenuFixed {
float: left;
font-weight: bold;
position: fixed;
top: 10px;
width: 145px;
}
Невозможно прочитать правильное начало нуля << сообщение об ошибке в элементе проверки Google Chrome </p>
тогда мне нужно установить значение для top?запутался здесьнашел гораздо более простое решение моей проблемы, почему это решение не вышло, прежде чем я разместил здесь Grrrr!Для тех, у кого есть похожие проблемы, это то, что я использовал;
<script type="text/javascript">
$(function () {
var offset = $("#dvContentAlpha").offset();
var topPadding = 15;
$(window).scroll(function () {
if ($(window).scrollTop() > offset.top) {
$("#dvContentAlpha").stop().animate({
marginTop: $(window).scrollTop() - offset.top + topPadding
});
} else {
$("#dvContentAlpha").stop().animate({
marginTop: 0
});
};
});
});
</script>
Работает как шарм!