3
我想單獨調整元素的大小和位置,以便能夠使用jQuery的stop()
函數爲一個屬性清除隊列,但不能清除其他屬性。我只是動畫width
和left
屬性。我可以使用jQuery獨立地動畫屬性嗎?
有沒有辦法完成這個?
我想單獨調整元素的大小和位置,以便能夠使用jQuery的stop()
函數爲一個屬性清除隊列,但不能清除其他屬性。我只是動畫width
和left
屬性。我可以使用jQuery獨立地動畫屬性嗎?
有沒有辦法完成這個?
你需要使用jquery 1.7,但是這可以完成。
由於1.7,你可以傳遞一個字符串作爲queue
參數。這會將動畫隊列排列在命名隊列中而不是fx隊列中。然後,當你呼叫停止時,你可以傳遞相同的隊列名稱。
$(function() {
$("#stopTop").click(function() {
$("#t1").stop("topQueue", true);
});
$("#stopLeft").click(function() {
$("#t1").stop("leftQueue", true);
});
$('#t1').animate({
left: 100
}, {
duration: 10000,
queue: "leftQueue"
}).animate({
left: 600
}, {
duration: 10000,
queue: "leftQueue"
}).animate({
top: 100
}, {
duration: 10000,
queue: "topQueue"
}).animate({
top: 600
}, {
duration: 10000,
queue: "topQueue"
}).dequeue("topQueue").dequeue("leftQueue");
})
.tester {
background:red;
width: 100px;
height: 100px;
left: 400px;
top: 300px;
position: absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div class="tester" id="t1"></div>
<button id="stopTop">Stop Top</button>
<button id="stopLeft">Stop Left</button>
太棒了!謝謝。 :) – Koviko
你的意思是「清除所有‘左’動畫的隊列,但允許‘寬度’」或你的意思是,只有當你做一個或另一個清除隊列? – Mathletics
我的意思是清除任何「左」動畫的隊列,但允許「寬度」繼續。基本上,就像有兩個單獨的隊列。 – Koviko