2013-03-08 82 views
0

我是jQuery-CSS-newbie,但我想将div移动到另一个。我无法弄清楚如何去做。jQuery slideDown slideUp点击

我想实现的是滑动一个div,但我不知道如何定位它或使用正确的属性。

这是我曾尝试:

$("#two").click(function() { 
    $('#one').slideUp(500); 
}); 

http://jsfiddle.net/HUbHN/2/

的效果基本show的伟大工程,但我想绿色条向下移动到红色。

我该如何实现该行为?

在此先感谢

回答

0

我想你想要的东西一样这 http://jsfiddle.net/HUbHN/6/

#main{ 
width: 400px; 
height: 400px; 
background-color: black; 
position:relative; 
} 

#one { 
width: 150px; 
height: 100px; 
background-color: green; 
position:relative; 
} 

#two { 
width: 150px; 
height: 150px; 
background-color: red; 
position:absolute; 
top:100px; 
} 

//js 

$("#two").click(function() { 
$('#one').animate({'height': '10px', 'top': '99px'}, 1000); 
}) 
+0

不错。但jquery-ui是.animate()所必需的,不是吗? – uhuarsch 2013-03-10 18:11:05

+0

@uhuarsch - animate是核心jQuery库的一部分,某些缓动选项是ui的一部分,但.animate是库的一部分 – 2013-03-10 21:47:43

2

你需要的是这样的:Sample

$("#two").click(function() { 
    $('#one').slideUp(500, function(){ 
     $(this).insertAfter("#two").slideDown(500); 
    }); 
}); 

下面是修改后的版本:Sample2

$("#main").on('click', ' div:last', function() { 
    $(this).prev().slideUp(500, function(){ 
     $(this).insertAfter($(this).next()).slideDown(500); 
    }); 
}); 
+0

好吧,这很酷,但不是我想说的。我想让红色的那个固定在那个位置,然后将绿色的条滑动到红色容器的顶部边缘。 – uhuarsch 2013-03-08 14:04:13

+0

你的意思是你需要滑动绿色盒子,因为它似乎躲在红色盒子后面...? – Anujith 2013-03-08 14:25:45