如何调用包含在YUI()中的YUI函数。从javascript使用?
示例 下面是一个YUI函数“runShowAnim”,它执行animShow.run();用于动画效果...
var runShowAnim = function(e) {
animShow.run();
};
我希望在javascript函数中验证某些内容时会发生此效果。我试着把它称之为下面。但它似乎没有用。
function notifyUser(message) {
document.getElementById("msgArea").innerHTML = message;
runShowAnim();
}
答案 0 :(得分:2)
我通过将YUI函数完全夹在函数中并调用该函数来实现这一目的。
var runShowAnim = function() {
YUI().use('anim', 'node', function(Y) {
var animShow = new Y.Anim({
node: '#msgArea',
to: { height: 50,opacity:1 }
});
animShow.run();
});
};
现在我可以在没有任何问题的情况下调用runShowAnim,如下面的示例函数..
function notifyUser(message) {
document.getElementById("msgArea").innerHTML = message;
runShowAnim();
}
答案 1 :(得分:0)
如果要调用函数,则必须使用()
为函数名后缀,并在它们之间包含0个或多个逗号分隔的参数。
runShowAnim();
如果函数没有全局范围(如果它在传递给use()
的函数内声明,那么你的函数将会有所不同),那么你只能在同一范围内执行此操作。
答案 2 :(得分:0)
我认为你错过了括号。
function notifyUser(message) {
document.getElementById("msgArea").innerHTML = message;
runShowAnim(); // right here
}
答案 3 :(得分:0)
YUI.thefunction()?
我认为你需要用命名空间来调用它
类似于
var X = function(){};
X.Y = function(){};
X.Y.Z = function(){};
X.Y.Z.foo = function(e){alert(e);}
//foo("me");<-error
X.Y.Z.foo("me");
答案 4 :(得分:0)
如果要从外部调用已在闭包内定义的函数(作为YUI.use的最后一个参数传递的函数),则需要全局公开该函数。
在闭包之外定义一个全局变量并将函数赋值给它,或者将你的函数赋值给window对象
即。
var runShowAnim;
YUI().use(function(e){
runShowAnim = function(){alert('called');}
});
runShowAnim();