【发布时间】:2014-10-07 14:05:41
【问题描述】:
我尝试使用 jquery 切换一个小动画。
我有一个 div (1, GREEN) 隐藏了另一个 div (2, RED & BLUE)。在 DIV (1, GREEN) 中还有另一个 DIV (3, YELLOW),用作按钮。我想要实现的是当用户点击 DIV (3, YELLOW), DIV (1, GREEN) (其中包含 DIV (3, YELLOW)) 向左滑动所以 DIV (2, RED & BLUE) 显示.
要了解我在做什么,看看我到目前为止有什么:
HTML:
<div class="pollSlider">
<div class="yesno">
Yes / No
</div>
</div>
<div id="pollSlider-button">
<div id="close-button"></div>
</div>
CSS
.pollSlider{
position:fixed;
height:50px;
background:red;
width:300px;
right:0px;
top:300px;
}
.yesno{
position:absolute;
height:50px;
background:blue;
width:50px;
right:0px;
color:#FFF;
}
#pollSlider-button{
position:fixed;
width:300px;
height:50px;
right:0px;
background:green;
top:300px;
}
#close-button{
position:absolute;
width:10px;
height:10px;
right:10px;
top:7px;
background:yellow;
}
JQUERY
$(document).ready(function()
{
var slider_width = $('.yesno').width();//get width automaticly
$('#close-button').click(function() {
if($(this).css("margin-right") == slider_width+"px" && !$(this).is(':animated'))
{
$('#pollSlider-button').animate({"margin-right": '-='+slider_width});
}
else
{
if(!$(this).is(':animated'))
{
$('#pollSlider-button').animate({"margin-right": '+='+slider_width});
}
}
});
});
齐心协力: http://jsfiddle.net/XNnHC/1974/
我的代码有一个问题。它不再隐藏 DIV (2, RED & BLUE),它只是不断向左滑动,即使它已经通过了 DIV (2) 的 RED 部分。
我需要改变什么来简单地切换 DIV。如果隐藏,单击黄色将显示蓝色,并在显示时将其隐藏。 RED 并不重要,它不会保存任何信息。
【问题讨论】:
标签: jquery jquery-animate slide