2013-04-10 5 views
3

У меня есть это меню, которое в основном представляет собой горизонтальный элемент раздвижной панели. Все пункты меню имеют определенные свойства css по умолчанию. Я хочу, чтобы элементы меняли свой размер и поля слева/справа, когда они достигают центра основного контейнера и возвращаются к значениям по умолчанию, когда они оставляют его (или находятся за его пределами). Смотрите мою схему.Влево/вправо раздвижное меню

enter image description here

Там в левой/правой кнопки, которые будут вызывать, в каком направлении он будет скользить. Я знаю, что есть библиотеки для такого рода вещей, но я действительно хочу простейшую вещь. Вот HTML разметка:

<div id="leftBtn">Left</div> 
<div id="rightBtn">Right</div> 

<div id="centerArea"> 
    <div id="menuContainer"> 
     <div id="menuItem_1" class="menuItem"></div> 
     <div id="menuItem_2" class="menuItem"></div> 
     <div id="menuItem_3" class="menuItem"></div> 
     <div id="menuItem_4" class="menuItem"></div> 
    </div> 
</div> 

... и fiddle.

Спасибо.

Pedro

+1

menuItem_position = - (menuItem_place * 200) + 25; http://jsfiddle.net/2Vngt/1/ –

+0

Это устраняет проблему центрирования. Тханкс Дэвид! Вы не знаете, как установить разные значения css для внутренней/внешней области центра, не так ли? – Pedro

+1

Лучше всего добавить класс css в активный элемент: http://jsfiddle.net/2Vngt/3/ –

ответ

2

Попробуйте jsfiddle

Отсюда следует следующий подход * заключите содержимое .menuItem в другом контейнере, .container так, что он может свободно перемещаться внутри его родителей. * используйте menuItem_place, чтобы получить конкретный номер .menuItem, который находится в центре.

+0

Прекрасно работает! Кстати, возможно ли иметь также кнопку мыши + клик? – Pedro

+1

Да, конечно, используя CSS ': hover' или' jQuery.hover (.., ..) '.. Редактировать: ах, вы имеете в виду' click menuItem, чтобы прокручивать следующий'? – Ejaz

+0

Не кнопки. :) Я имел в виду сами предметы - когда их щелкали, доведите их до середины. – Pedro

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