我想實現這個淘汰賽簡單的動畫:如何實現這個動畫?
function scroll(back) {
var scrollContainer = $('.scrollingContent');
var newContent = $("<div class='content'></div>");
var oldContent = scrollContainer.children().first();
newContent.css("width", "50%");
var contentSize = oldContent.width();
var newContentColor = oldContent.css("background-color") == "rgb(255, 0, 0)" ?
"green" : "red";
newContent.css("backgroundColor", newContentColor);
if (back) {
newContent.css("margin-left", -contentSize);
scrollContainer.prepend(newContent);
newContent.animate({ "margin-left": 0 }, 600,
function() { oldContent.remove(); });
} else {
scrollContainer.append(newContent);
oldContent.animate({ "margin-left": -contentSize }, 600,
function() { oldContent.remove(); });
}
}
實例可以在這裏被看作:http://jsfiddle.net/VMx3j/106/
我已經讀了很多關於自定義綁定,但我仍然不知道如何做對了。
我只有兩個想法。首先是創建一個foreach數組並綁定在afterRender,afterAdd或beforeRemove上。但它會是正確的嗎?我認爲在這種情況下的代碼將不會被理解,並且很難改變任何事情。另一個想法是創建一個自定義綁定。但據我瞭解,這種方法只適用於一種元素,我至少需要訪問其中的兩種元素。
另請注意,內容元素是模板(通過此動畫不斷更改)。
如果您對此有任何意見,請幫忙。
@mcpDESIGNS我不能因爲以前的問題都沒有得到很好的回答。 – Zelzer