問題我看到:
上內嵌<a>
或在你的CSS或動畫<span>
標籤設置一個高度或寬度。閱讀this article,試圖設置內嵌標籤的高度或寬度。這適用於你的CSS和你的動畫。如果你想動畫的寬度,我認爲你需要做一個塊元素。
在我看來,動畫可能會因爲寬度和不透明度的切換而變得困惑。也許你最好指定兩個回調來懸停,並更直接地指定動畫開始點和停止點,而不是讓切換方法必須找出開始點和停止點應該是什麼。例如,如果沒有將HTML重做爲塊元素(我認爲這對於可靠地設置動畫寬度是必需的),那麼這裏只是關於不透明度的平滑動畫。我已經將CSS的起始點設置爲所需的起始不透明度,並且我已經停止使用切換來設置動畫並將其明確設置。我不確定這是否是必需的,但它可以避免模糊性從切換開始嘗試猜出您想要的內容:http://jsfiddle.net/jfriend00/r2cdn/(不透明度動畫只在此jsfiddle中,兩個動畫都包含在下面的jsfiddle中)。
jQuery(document).ready(function() {
// Animate the single page nav
jQuery("a#post-nav-next").hover(function(){
jQuery("a#post-nav-next span").stop(true, true).animate({opacity: "1.0"});
}, function() {
jQuery("a#post-nav-next span").stop(true, true).animate({opacity: "0"});
}
);
});
對於寬度的切換,您希望切換哪兩種狀態?這對我來說並不清楚,可能對jQuery.toggle()也不清楚。如果你想要做的是爲正確的填充設置動畫,那麼也許你應該直接做到這一點。
如果我爲填充添加直接動畫並更改CSS中的起始值,它將開始平滑地進行動畫處理。我不是100%確定我知道你在找什麼動畫,但這應該是你可以走的方向:http://jsfiddle.net/jfriend00/PE4qQ/。
jQuery(document).ready(function() {
// Animate the single page nav
jQuery("a#post-nav-next").hover(function(){
jQuery("a#post-nav-next span").stop(true, true).animate({"opacity": "1.0", "padding-right": "100px"});
}, function() {
jQuery("a#post-nav-next span").stop(true, true).animate({"opacity": "0", "padding-right": "0px"});
}
);
});
跟進。看起來這是由於跨度關閉時文本回流造成的。如何解決這個問題?也許把它藏起來? – Niels
嗯...仍然沒有工作[鏈接](http://jsfiddle.net/9F5DK/6/)與溢出:隱藏 – Niels
我的猜測是,這是因爲你是動畫文本,而不是周圍的容器。但我也對答案感興趣。我會等待比我聰明的人回答。 – kasdega