2011-11-21 56 views
1

我使用MooTools的1.3.1,我想用動畫fx.morph一個div,但在瀏覽器中調試控制檯我得到Mootools 1.3.1:使用fx.morph不起作用?

TypeError: Result of expression 'c' [null] is not an object.# 
mootools-core-1.3.1.js:394 

我不建MooTools的腳本,但我必須添加一些更多的動畫和與使用此版本的mootools一起使用。

我的劇本是這樣的:

var myEffect = new Fx.Morph("div.tile", { 
duration: 'short', 
transition: Fx.Transitions.Sine.easeOut 
}); 

myEffect.start({ 
'height': 100, // Morphs the height from the current to 100px. 
'width': 300 // Morphs the width from the current to 300px. 
}); 

回答

2

商務部: http://mootools.net/docs/core/Fx/Fx.Morph

的變形方法的第一個參數是一個「元素」(對象)或元素的ID,你」重新傳遞選擇器..所以「div.tile」不會工作。

你需要一個ID添加到您的元素或使用each()方法給予效果全部用類「平鋪」

測試示例中的元素:http://jsfiddle.net/AGVwh/(上MooTools的1.2.5測試1.3.2,所以它也應該在1.3.1工作)

希望這有助於

+0

另外,通過選擇以'$$()','即新Fx.Morph($$(「div中。平鋪「),...)',應該解決問題,而不必爲元素添加」id「屬性。 –

+0

非常感謝,幫了我很多。但jquerys selecter引擎是好得多的mootools的文檔是如此無法使用=(我也可以動畫z-index,並且我可以選擇#id img? – user1041391

+0

+1用於發現此。OP:其實,選擇器mootools使用的是W3C CSS- level3 + extras(reverse combinators)。除非它與期望的標準不同,否則不需要mootools複製文檔。另外,你應該查看el.set(「morph」)和'el.get(「變形「)和'el.morph({someobj})' –