2015-04-10 2 views
0

Пример:Положение fixid на вертикально прокрутки, но не горизонтально

<div> 
    <div class="sloth"> 
     Header1 
    </div> 

    <div class="sloth"> 
     Header2 
    </div> 
</div> 

В первой половине дня я пытался установить положение всех элементов с одинаковым классом с фиксированной для вертикальной прокрутки, чтобы показать всегда текст заголовка. Это сработало, но есть небольшая проблема. Он работал и горизонтально.

Я попытался кое-что заблокировать горизонтально или сбросить положение элементов, но у меня нет рабочего кода.

Я не могу использовать overflow-x: скрытый, потому что это требование, чтобы видеть и использовать полосу прокрутки.

После долгого поиска в Google я не нашел рабочего решения.

Элементы находятся где-то посреди страницы HTML mvc3.

Любые идеи? Показывать заголовки только в вертикальном положении, но не по горизонтали?

ответ

0

Вам нужно будет использовать некоторые JavaScript для определения горизонтальной прокрутки и обработать левую позицию ... См this fiddle

Это JavaScript:

$(window).scroll(function(e){ 
    $('#stickMe').css('left', ($(window).scrollLeft() * -1)); 
}); 

Для этого CSS

#stickMe{ 
    position:fixed; 
    top:0; 
    left:0; 
    padding:40px; 
    background:#ccc; 
} 
+0

О я вижу, что моя работа находится рядом с вашим решением. У меня нет части «* -1». Спасибо! – maerlyn

+0

Yep - вам нужно дать 'left:' отрицательное значение - поэтому по существу он перемещает его влево при прокрутке. – Ted

+0

Возможно, вы знаете другое. Я использую drag & drop в javascript. Я перетаскиваю таблицу из div в другую. В Firefox он отлично работал в каждой позиции прокрутки окна. В IE он работал только в видимой области после pageload. После поворота в другую позицию событие капли не может срабатывать, потому что оно больше не разрешено. Любая идея, почему эта ошибка в IE? – maerlyn

Смежные вопросы