2016-11-04 59 views
2

很多jQuery插件有一個選項數組,它允許你指定某些設置。拉力值

是否可以直接在插件選項數組中寫入一個函數,以便從HTML數據屬性中添加一個值?或拉這個問題的任何HTML內容?

例子:

以下是該Circliful插件,創建一個基於百分比值的簡單圓形圖你percent:這顯然想要一個整數指定..但我想要做的是拉來自DOM的值並將其作爲百分比值添加。

我想在很多場合做到這一點,但我總是找到解決辦法,很高興知道它是否可能。

謝謝!

$(document).ready(function() { 
     $("#your-circle").circliful({ 
     animationStep: 5, 
     foregroundBorderWidth: 5, 
     backgroundBorderWidth: 15, 
     percent: 50 //get value of a data attribute and put it here 
}); 
}); 

回答

0

從插件文件你似乎在默認情況下做到這一點使用data-percent屬性

見:https://github.com/pguso/jquery-plugin-circliful#data-attributes

,或者你可以創建一個全局變量和值傳遞給物業:

$(document).ready(function() { 
     var percent = $("#your-circle").attr('data-percent'); 
     $("#your-circle").circliful({ 
     animationStep: 5, 
     foregroundBorderWidth: 5, 
     backgroundBorderWidth: 15, 
     percent: percent //get value of a data attribute and put it here 
}); 
}); 

(注意:數據屬性似乎只適用於較早版本的插件)

+1

這完美的作品!我無法相信這就像添加一個變種一樣簡單。我在腦海中嚴重過度複雜化。非常感謝Madalin。 – Bevels

3

您可以隨時從DOM中讀取元素數據。它的類型是字符串,因此可能需要一些解析。您可能需要事先保存它,但如果您在$(document).ready(function(//scripts))中加載腳本,它應該可以正常工作。

<div id='element' data-abc='def'></div> 


percent: $('#element').data('abc') 
+1

這也適用,它是這樣一個簡單,乾淨的方法。 Madalin提交了正確的答案,所以我接受了它。不熟悉S.O.禮貌用於標記或投票答案? – Bevels

+0

謝謝,我也不熟悉,它並不重要,因爲任何正在尋找答案的人都會在這裏得到它:) – wscourge

+0

偉大的態度!我們需要世界上更多無私的人。再次感謝你的幫助。 – Bevels

0

你試過:

<div id="your-circle" data-percent="50"></div> 

$("#your-circle").circliful({ 
    animationStep: 5, 
    foregroundBorderWidth: 5, 
    backgroundBorderWidth: 15, 
    percent: parseInt($(this).attr('data-percent'),10) 
}); 

+0

有趣的方法。我無法讓它工作,百分比櫃檯只是無限期地繼續計數:-S – Bevels