Исправить код
Использую код для фиксации сайдбара при прокрутке страницы. При перезагрузке страницы на якоре посреди страницы сайдбар до движения скролла пропадает и находится изначально вверху. как исправить баг?
<script type="text/javascript">
$(document).ready(function(){
$(window).scroll(function() {
if($(this).scrollTop() >=300) {
$('#SideBar').addClass('sidebarfix');
}
else{
$('#SideBar').removeClass('sidebarfix');
}
});
});
</script>
|
JAMLIGHT,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
JAMLIGHT,
добавьте триггер скролл в строку надцать |
минимальный код страницы подготовлю
|
JAMLIGHT,
<script>
$(function(){
$(window).scroll(function() {
$("#SideBar").toggleClass("sidebarfix", $(this).scrollTop() >=300)
}).trigger("scroll")
});
</script>
|
Спасибо за понимание.Действительно проблема пр загрузке решена
|
Как можно приписать такой же триггер для перезагрузки внизу страницы ко второму коду для фиксации об подвал или совместить 2 кода вместе
<script type="text/javascript">
$(function(){
$(window).scroll(function() {
$("#imSideBar").toggleClass("sidebarfix", $(this).scrollTop() >=300)
}).trigger("scroll")
});
</script>
<script type="text/javascript">
$(function(){
$(window).scroll(function (){
scrollBottom = $(document).height() - $(window).scrollTop();
if (scrollBottom <= 590){
$('#imSideBar').removeClass('sidebarfix');
$('#imSideBar').addClass('sidebarbottom');
}
else
{
$('#imSideBar').removeClass('sidebarbottom');
}
})
});
</script>
|
Так?
<script type="text/javascript">
$(function(){
$(window).scroll(function (){
scrollBottom = $(document).height() - $(window).scrollTop();
if (scrollBottom <= 590){
$('#imSideBar').removeClass('sidebarfix');
$('#imSideBar').addClass('sidebarbottom');
}
else
{
$('#imSideBar').removeClass('sidebarbottom');
}
}).trigger("scroll")
});
</script>
|
Цитата:
|
работает, но может 2 кода следует переписать в один?
|
| Часовой пояс GMT +3, время: 15:11. |