2012-10-26 97 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