我試圖動畫使用jQuery的動畫功能的標記的HTML部分(<font id="test" size="7">This Text!</font>
),像這樣:更改文本(HTML)與.animate
$("#test").delay(1500).animate({text:'The text has now changed!'},500);
但是什麼也沒有發生,它不會更改文本。
我該怎麼做?謝謝!
我試圖動畫使用jQuery的動畫功能的標記的HTML部分(<font id="test" size="7">This Text!</font>
),像這樣:更改文本(HTML)與.animate
$("#test").delay(1500).animate({text:'The text has now changed!'},500);
但是什麼也沒有發生,它不會更改文本。
我該怎麼做?謝謝!
的animate(..)
功能」的簽名是:
.animate(properties, options);
它說下面的有關參數properties
:
性質 動畫會朝着CSS屬性的映射。
text
不是CSS屬性,這就是爲什麼函數不能按照你的預期工作。
你想淡出文本嗎?你想移動它嗎?我可能會提供一個替代方案。
繼JiminP建議....
我做了一個的jsfiddle將要「順利」的情況下,任何人兩個跨之間的過渡有興趣在行動看到了這個。你有兩個主要選擇:
第一次點擊按鈕時,上面的數字1會發生。第二次點擊按鈕時,會出現2號。 (我這樣做,這樣你就可以直觀地比較兩種效果。)
試一試出:http://jsfiddle.net/jWcLz/594/
詳細說明:以上
1號(更困難的效果)由定位完成跨度通過CSS絕對定位直接在彼此的頂部。此外,jQuery動畫不鏈接在一起,以便它們可以同時執行。
HTML
<div class="onTopOfEachOther">
<span id='a'>Hello</span>
<span id='b' style="display: none;">Goodbye</span>
</div>
<br />
<br />
<input type="button" id="btnTest" value="Run Test" />
CSS
.onTopOfEachOther {
position: relative;
}
.onTopOfEachOther span {
position: absolute;
top: 0px;
left: 0px;
}
的JavaScript
$('#btnTest').click(function() {
fadeSwitchElements('a', 'b');
});
function fadeSwitchElements(id1, id2)
{
var element1 = $('#' + id1);
var element2 = $('#' + id2);
if(element1.is(':visible'))
{
element1.fadeToggle(500);
element2.fadeToggle(500);
}
else
{
element2.fadeToggle(500, function() {
element1.fadeToggle(500);
});
}
}
如果你希望做的是改變凱文說你可以做的完全文本。但是,如果您嘗試運行動畫以及更改文字,則可以通過先更改文字然後運行動畫來完成此操作。
例如:
$("#test").html('The text has now changed!');
$("#test").animate({left: '100px', top: '100px'},500);
看看這個搗鼓完整的例子:
實際上,你可以通過函數:$(...)。html(...)。animate(...);' – 2016-06-21 18:29:58
$("#test").hide(100, function() {
$(this).html("......").show(100);
});
指official jquery example:和它玩。
.animate({
width: "70%",
opacity: 0.4,
marginLeft: "0.6in",
fontSize: "3em",
borderWidth: "10px"
}, 1500);
如果你想改變'平穩'的文字,你可以用兩個''重疊並做一些工作。或者,如果您只是想立即更改文本,則可以使用'.text()'。 PS:你可以用''來代替''。 – JiminP 2011-06-10 11:33:40