2014-03-01 40 views
0

我知道已經像left & righttop & bottom,即相反性質可以彼此衝突,僅在相對的性質中的一種應該定義換言之的CSS,和另一個應該留下auto的jQuery的CSS()頂部和底部不工作

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/

回答

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; 
} 
0

這不是jQuery的一個問題。轉換不適用於「自動」CSS屬性。

我改top: 0和負值之間切換,而現在它的工作原理 http://fiddle.jshell.net/d7kbG/

+0

jQuerys css()中的空字符串 - 方法與auto相同。 – Albin

+0

但圖像犯規properely移動,它只是移動到頂部預設值是-400不是底部0像素 – ProllyGeek

+0

這仍然是你的問題的解決方案。您必須在同一個屬性的兩個不同值之間轉換,auto或空字符串不是值,而是缺少值。 – Albin