jQuery .css()top&底部不起作用

时间:2014-03-01 12:28:23

标签: jquery html css html5 css3

对于css我已经知道了left& righttop& bottom,可能会相互冲突,换句话说,只应定义其中一个相对属性,另一个应保留auto

Iam在这里遇到的问题是jQuery css以及过渡,我在容器内部有一个div,容器溢出设置为隐藏,容器内的div有一个比容器本身更大的高度,Iam试图做的是光滑的滚动指南时滚动(这是另一个具有相同容器高度的div,位于我们想要在容器内滚动的div的顶部)。

首先,我尝试计算delta delta_scroll = height of the div we want to scroll - height of container,然后更改div的css(top)属性,这非常有效。

但是现在我试图使用css解决方案,将底部设置为0px,或者在移动鼠标时将顶部设置为0px,由于某种原因转换不起作用,我不知道原因。

以下是计算scroll_delta的示例: http://fiddle.jshell.net/prollygeek/JG48k/1/

以下是css问题的示例: http://fiddle.jshell.net/prollygeek/JG48k/2/

2 个答案:

答案 0 :(得分:1)

另一种选择:

背景位置可能更适合这种情况,如果您不想计算高度并使用负值,就像我的其他示例一样。 http://jsfiddle.net/mpLZR

div{
  width:800px;
  height:500px;
  background:url('http://www.canvaz.com/portrait/charcoal-1.jpg') no-repeat;
  background-position:top left;
  -webkit-transition:background-position 1s ease;
}
div:hover{
  background-position:bottom left;
}

答案 1 :(得分:0)

这不是jQuery的问题。转换不适用于" auto" css属性。

我改为在top: 0和负值之间切换,现在它可以正常工作 http://fiddle.jshell.net/d7kbG/