0

YUI の公式 Web サイトの Dial の例とそのすばらしい例があります。JS ファイルに関数があり、完全に動作しますが、いくつかのパラメーター (値、最小値、最大値など) を使用して html ページ内で呼び出したいのですが、何も機能しません。

ダイヤル機能は次のとおりです。

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; 
}

ご覧のとおり、「example」を呼び出すたびに C を出力し、呼び出すたびに必要な値を指定しています。example を 8 回呼び出すと、C 変数が 8 回出力されます。それが私がダイヤルに望むものです。必要なパラメーターを使用して HTML ページから Dial を作成する関数を必要なだけ呼び出したいと思います。この関数は、それらのパラメーターを使用して Dial を作成します。それが可能かどうかはわかりませんが、これが必要なので、助けてくれてありがとう! :)

4

2 に答える 2

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');
});
于 2012-10-26T14:11:31.540 に答える
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>

initialize-widgets.js ファイル:

YUI().use('dial', function (Y) {
    var dial = new Y.Dial(dialConfig);
    dial.render('#demo');
    // possibly do more setup work after this... 
});
于 2012-10-26T11:11:44.840 に答える