CSS div定位和jQuery slideUp疯狂
已解决查看下面的评论CSS div定位和jQuery slideUp疯狂,jquery,html,css,slide,Jquery,Html,Css,Slide,已解决查看下面的评论 <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('#playlistToggle').click(function(event) {
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#playlistToggle').click(function(event) {
event.preventDefault();
if($('#playlist').is(":hidden"))
{
$('#playlist').slideUp('medium');
}
else
{
$('#playlist').slideDown('medium');
}
});
});
</script>
<style type="text/css">
#playlist_wrapper
{
bottom: 30px;
height: 75px;
overflow: hidden;
position: fixed;
width: 100%;
background-color: yellow;
}
#playlist
{
background-color: #FF6633;
border: 1px solid #666666;
height: 75px;
width: 920px;
position: relative;
bottom: 0;
margin: 0 auto;
visibility: hidden;
}
</style>
</head>
<a href="#" id="playlistToggle">Toggle Playlist</a>
<div id="playlist_wrapper">
<div id="playlist"></div>
</div>
$(文档).ready(函数(){
$(“#播放切换”)。单击(函数(事件){
event.preventDefault();
如果($(“#播放列表”)是(“:隐藏”))
{
$(“#播放列表”).slideUp('medium');
}
其他的
{
$(“#播放列表”)。向下滑动(“中等”);
}
});
});
#播放列表包装器
{
底部:30px;
高度:75px;
溢出:隐藏;
位置:固定;
宽度:100%;
背景颜色:黄色;
}
#播放列表
{
背景色:#FF6633;
边框:1px实心#666666;
高度:75px;
宽度:920px;
位置:相对位置;
底部:0;
保证金:0自动;
可见性:隐藏;
}
当您按下按钮时,此脚本应向上滑动播放列表div。然而,当你击中它时,什么也不会发生。如果您更改:
如果($(“#播放列表”)是(“:隐藏”))
致:
如果($(“#播放列表”)为(“:可见”))
将css#playlist visibility属性从“hidden”更改为“display”,然后div向上滑动到顶部,向下滑动到底部,这与我希望它做的完全相反。我做错了什么
编辑:澄清一下:我需要从一开始就隐藏播放列表div,然后在按下切换按钮时向上滑动
.slideUp
是.hide
的同义词(尽管对如何获得效果有不同的设置)
同样地
.slideDown
是.show
所有4个都只是预设动画
如果您阅读了关于slideUp和slideDown的jQuery文档,它们是这样的:
描述:通过滑动运动隐藏匹配的元素
描述:以滑动方式显示匹配的元素
因此:使用slideDown使内容可见,而不是slideUp只有在
* They have a CSS display value of none.
* They are form elements with type="hidden".
* Their width and height are explicitly set to 0.
* An ancestor element is hidden, so the element is not shown on the page.
似乎
#playlist
不符合任何这些标准,因此选择器在#playlist
上不匹配。你能去掉.is(“:hidden”)
部分而不使用它吗?如果我在“If”语句中还原函数,它仍然没有任何作用?你不能使用slideDown(show函数)使某些东西从屏幕底部向上滑动,这是你的问题。你必须重新考虑你在做什么。我找到了解决办法。滑动包装而不是播放列表起作用。#播放列表需要从一开始隐藏,然后从底部滑动。除了在css属性中定义播放列表外,我看不到任何其他从一开始就隐藏播放列表的方法