首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >slideDown()效应问题

slideDown()效应问题
EN

Stack Overflow用户
提问于 2014-04-20 16:32:28
回答 1查看 106关注 0票数 0

我注意到slideDown()效果不适用于我的div navigationMain,注意我是如何在div navigationMain中对标题菜单使用ul/li标记的。还请注意,我是如何在标题navigationMain /About/Contact的a/超链接标记中放置id名称的,所有这些名称都位于li标记中和div navigationMain中。我尝试对slideDown div中的id #about导航按钮使用navigationMain ()效果,它的假设是打开一个名为about的隐藏div,但是它打开div的一个小部分并立即关闭它自己。由于某种原因,slideDown()效果适用于另一个div,它不包括ul/li和a/超链接标记。在这个div中,我刚刚在img标记中放置了一个id名,slideDown()效果就可以工作了。对于ul/li和a/超链接标记,slideDown()效果是否可能不太好呢?

JSFiddle:http://jsfiddle.net/Tb8h5/17/ http://jsfiddle.net/Tb8h5/17/embedded/result/ (导航菜单portfolio/about/contact文本没有出现在JSFiddle链接上,因此我添加了一个背景颜色来显示导航菜单的位置)

HTML

代码语言:javascript
复制
<div class="header">
<div class="container"> 
<div class="headerMain">  </div>
<div class="navigationMain"> 
<ul class="nav">
<li><a href="" id="portfolio-link">Portfolio</a></li>
<li><a href="" id="about-link">About</a></li>
<li><a href="" id="contact-link">Contact</a></li>
</ul>
</div>
</div>
</div><!-- end of header -->

<div class="aboutlayout"> </div> <!-- hidden div -->

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2     /jquery.min.js"></script>

CSS

代码语言:javascript
复制
.header {
background: #242424;
height: 165px;
background:url(../images/header.png) repeat center center; 
min-width: 1075px;
}

.container {
height: 165px;
margin-left: auto;
margin-right: auto;
width: 1075px; 
}

.headerMain{
height: 165px; 
position: relative;
width: 195px;
float: left;
left: 20px;
top: 4px;
background:url(../images/ARlogo.png) no-repeat center center; 
}

.navigationMain{
height: 154px;
margin-left: auto;
margin-top: -4px;
position: relative;
width: 665px;
right: 30px;
left: 160px;
}

li{
display: inline;
}

.nav {
position: relative;
top: 70px;
}

.nav li{   
display: block;
float: left;
}

.nav li {
background: url(../images/slash.png) no-repeat;
padding-left: 26px;
}

.nav li:first-child {
background: none;
}

.nav a {
display: block;
text-indent: -9999px;
height: 35px;
width: 150px;
}

#portfolio-link {
background: url(../images/portfolio.png) no-repeat;
}

#about-link {
background: url(../images/about.png) no-repeat;
height: 35px;
width: 115px;
}

#contact-link {
background: url(../images/contact.png)no-repeat;
}

#slash-link{
background: url(../images/slash.png)no-repeat;
}

.aboutlayout{
background: white; /*#ecebeb; */ 
height: 350px;
position: relative;
}

JQuery

代码语言:javascript
复制
$(document).ready(function() {

$('.aboutlayout').hide();

$('#about-link').click(function() {
$('.aboutlayout').slideDown();
})

})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-20 16:38:16

当单击当前页时,具有空href的锚将重新加载当前页。

您应该使用哈希,最好防止事件处理程序中的默认操作,否则页面将始终重新加载,并且动画不会显示。

变化

代码语言:javascript
复制
<a href="" id="about-link">About</a>

代码语言:javascript
复制
<a href="#" id="about-link">About</a>

并这样做

代码语言:javascript
复制
$('#about-link').click(function(e) {
    e.preventDefault();
    $('.aboutlayout').slideDown();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23184873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档