【发布时间】:2014-02-07 13:39:59
【问题描述】:
通过 jquery 移动转换,我希望我的网站表现得像电梯。 我有一个垂直菜单:
<a href="#">
<div class="menu_item">
<span class="menu_number">2</span>
</div>
</a>
<a href="#">
<div class="menu_item">
<span class="menu_number">1</span>
</div>
</a>
<a href="#">
<div class="menu_item active_item">
<span class="menu_number">0</span>
</div>
</a>
我在每个页面上动态设置 data-transition 属性:
$(document).bind("pagechange", function() {
var firstActive = false;
$('.menu_item').each(function( index ) {
if(!$(this).hasClass('active_item') && firstActive == false)
$(this).parent().attr('data-transition','slidedown');
else if(!$(this).hasClass('active_item') && firstActive == true)
$(this).parent().attr('data-transition','slideup');
else if($(this).hasClass('active_item')){
firstActive = true;
$(this).parent().removeAttr('data-transition');
}
});});
初始状态:
菜单 2 => data-transition="slidedown"
菜单 1 => data-transition="slidedown"
菜单 0 => 无数据转换
如果我点击“1”菜单:
- 菜单 2 => data-transition="slidedown"
- 菜单 1 => 无数据转换
- 菜单 0 => data-transition="slideup"
然后,如果我点击“2”菜单:
- 菜单 2 => 无数据转换
- 菜单 1 => data-transition="slideup"
- 菜单 0 => data-transition="slideup"
即使菜单 1 有 data-transition="slideup",当我点击它时也会向下滑动(初始数据转换)
我不明白这种行为。
PS:如果我点击菜单 0,它会进行上滑过渡(良好的行为)
【问题讨论】:
-
你在 menu_item div 上寻找 active_item 类,但在标记中你把它放在 menu_number 跨度上。
标签: javascript jquery css jquery-mobile