2016-11-04 60 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