Пользовательский интерфейс jQuery: анимировать вкладки горизонтального списка навигации без атрибута float?

0
<ul id="nav">
   <li>Tab 1</li>
   <li>Tab 2</li>
   <li>Tab 3</li>
</ul>

#nav li {
   display:inline-block;
   list-style:none;
}

Это горизонтальное навигационное меню использует display:inline-block для горизонтального display:inline-block. Я хочу анимировать вкладки, чтобы одна вкладка отображалась одновременно на экране горизонтально.

$("#nav li").hide().each(function(i) {
     $(this).delay(500*i).show("bounce", 2000);
});

Тем не менее, это сначала отображается по вертикали, прежде чем выравнивать их по горизонтали, чего я не хочу. Изменение его на плавающий список работает, но я не хочу его использовать. Нужно ли анимировать вкладки с пользовательским интерфейсом jQuery без использования атрибута float?

Теги:

2 ответа

0

Возможно, более удобна настройка левой позиции ваших вкладок? По общему признанию, это немного сложнее, но не использует float DEMO.

В основном это делается с комбинацией position: absolute и корректировка left значения.

/*jQuery*/

$( "#nav li" ).each(function(i) {
   $(this).delay(500 * i).animate({ left: 80 * i}, 2000);
});

/*CSS*/
#nav {
   width: 240px;
   height: 40px;
   padding: 0;
   overflow: hidden;
   position: relative;
   background: rgba(111, 111, 111, .3);
}

#nav li {
   left: -60px;
   width: 60px;
   list-style: none;
   display: inline-block;
   background: rgba(255, 255, 255, .5);
   padding: 10px;
   position: absolute;
   text-align: center;
}
0

Попробуйте оживить их непрозрачность...

<ul id="nav">
   <li>Tab 1</li>
   <li>Tab 2</li>
   <li>Tab 3</li>
</ul>

#nav li {
   display:inline-block;
   list-style:none;
   opacity: 0;
}

в js

$("#nav li").each(function(i) {
   $(this).delay(500*i).animate({opacity: 1}, 2000, "bounce");
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню