2012-10-26 72 views
0

我有官方YUI网站的拨号示例及其精彩。我有一个JS文件中的功能和完美的作品,但我想用一些参数(如值,最小值,最大值等)在html页面内调用它,但没有任何工作。从HTML调用YUI函数

的拨号功能是这样的:

YUI().use('dial', function(Y) { 

    var dial = new Y.Dial({ 
     min:-220, 
     max:220, 
     stepsPerRevolution:100, 
     value: 30 
    }); 
    dial.render('#demo'); 

} 

太谢谢你了!

编辑:我会写一个非常非常简单的C++代码,我想你会明白到底是什么,我想:

int a = 3;int b = 4; 
example (a, b); 

a=2;b=4; 
example (a, b); 

void example (a, b){ //this shoud be the dial function in a JS file 
    int c = a + b; 
    cout << c; 
} 

正如你所看到的,我每次我打电话时打印C “例子”,并指定我想每次我称之为值。如果我调用8次示例,它将打印C变量8次。这就是我想要的拨号。我想多次调用,因为我需要使用我需要的参数从HTML页面创建Dial的函数,并且函数将使用这些参数创建Dial。我不知道这是可能的,但我需要这个,所以谢谢你的帮助! :)

回答

0

你的HTML应该包括这样的事情:

<div id="demo"></div> 
<script src="http://yui.yahooapis.com/3.7.3/build/yui/yui-min.js"></script> 
<script> 
YUI().use('dial', function (Y) { 
    var dial = new Y.Dial({ 
     min:-220, 
     max:220, 
     stepsPerRevolution:100, 
     value: 30 
    }); 
    dial.render('#demo'); 
}); 
</script> 

是不是为你工作?

编辑:根据评论中的讨论添加另一个示例。你可以做这样的事情,而不是:

HTML文件:

<div id="demo"></div> 
<script src="http://yui.yahooapis.com/3.7.3/build/yui/yui-min.js"></script> 
<script> 
    var dialConfig = { 
     min:-220, 
     max:220, 
     stepsPerRevolution:100, 
     value: 30 
    } 
</script> 
<script src="/path/to/initialize-widgets.js"></script> 

初始化-widgets.js文件:

YUI().use('dial', function (Y) { 
    var dial = new Y.Dial(dialConfig); 
    dial.render('#demo'); 
    // possibly do more setup work after this... 
}); 
+0

是的,那是工作完美,但我有一个JS文件功能我希望能够从我的HTML页面调用它,并使用我想要的值。如果我能做到这一点,我可以每次创建一个拨号并调用该函数,但每次调用它时都会更改它们的值。 我是西班牙人,所以我不知道你是否可以理解我,抱歉:)并且非常感谢您的阅读和帮助 – user1722670

+0

由于YUI().use(...)创建了一个沙盒,所以您不能拨打电话除非您将全局变量分配给附加到窗口的全局变量,否则在其他任何地方的沙箱内都不会执只需内联代码就更好了。 –

+0

啊,我想我明白你现在说的更好一点。因此,如果你只是在不同的页面上创建不同的拨号盘(使用不同的配置参数,我会遵循John Lindal的建议并保持'var dial = new Y.Dial({...})'代码的内联。但是,如果您需要编写一些想要跨多个页面重用的YUI代码的更大块,则应该查看使用YUI.add()创建YUI模块。请参阅http://yuilibrary.com/yui/docs/yui/ #yuiadd - 您可以将YUI.add()代码粘贴到单独的文件中,并调用YUI.use()以在HTML页面中使用它。 – Evan

0

你不会从你的HTML调用JavaScript代码。相反,您会听到HTML中发生的事件并对它们做出响应。

例如,假设你有这样的:

显示拨号

然后你要做的就是:

Y.one('#go').on('click', function() { 
    var dial = new Y.Dial({ 
     min:-220, 
     max:220, 
     stepsPerRevolution:100, 
     value: Y.one('#value').get('value'); 
    }); 
    dial.render('#demo'); 
}); 
+0

非常感谢您的回答,但我认为这不完全是我需要的。 – user1722670