我正在创建一个页面,顶部有一个图像,下面有一个菜单。当用户单击 3 个菜单按钮时,图像 slideUp 和页面向下滚动,因此菜单位于页面顶部,然后右侧 .content div 淡入。 slideUp 应该只在用户第一次发生点击按钮。
用 jQuery 做到这一点的绝对最佳方法是什么?(没有插件)
我还需要知道如果我单击同一个按钮两次,我如何无法阻止它淡入已经可见的页面?
我使用rel而不是href,因为 href 使页面跳转,即使使用return false。
这是我到目前为止所拥有的:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
imgVisible = true;
$('#mainmenu a').click(function(){
var $activeTab = $(this).attr('rel');
if(!imgVisible){
$('html:not(:animated),body:not(:animated)').animate({scrollTop:$('#mainmenu').offset().top-20},500);
$('.content').hide();
$($activeTab).fadeIn();
} else{
$('#imgholder').slideUp(500,function(){
imgVisible = false;
$('#mainmenu a[rel="'+$activeTab+'"]').click();
});
}
return false;
});
});
</script>
<div id="imgholder"><img src="image.jpg" /></div>
<div id="mainmenu">
<ul>
<li><a rel="#tab1"></a></li>
<li><a rel="#tab2"></a></li>
<li><a rel="#tab3"></a></li>
</ul>
</div>
<div id="container">
<div class="content" id="tab1">
content
</div>
<div class="content" id="tab2">
content
</div>
<div class="content" id="tab3">
content
</div>
</div>