在jQuery的slideUp之后保持相同的位置

时间:2014-04-07 07:08:48

标签: javascript jquery html css

当我点击div (x)时,当我通过此元素检测到滚动传递时,它会使用.slideDown()进行扩展,高度会增加当x不再在视口中时,使用inview插件,我用.slideUp()关闭它,增加的高度回到正常状态,而不是在(y ),我现在在(z)

.slideDown()之后

x
x
x
x
y  <-- I arrive here with scrolling
y
z
z

.slideUp()之后

x
x <-- height decreased
y <-- instead of being here..
y 
z <-- I'm here.
z

即使元素的高度降低,我怎么能保持在同一位置呢?

DEMO

1 个答案:

答案 0 :(得分:0)

每当触发.slideDown()时,获取页面的当前滚动顶部位置并在.slideUp()触发后设置该滚动位置。 您可以使用以下代码。

//Get the current position of the page
var pagePosition = $(window).scrollTop();               

//Set page position after `.slideUp()` called
$("html,body").scrollTop(pagePosition);