我有一个带有数字的div,它在php中动态变化。 该数字来自Supersized插件中的幻灯片编号。我已经尽力弄清楚如何更改插件,所以我可以用php修复它,但没有任何运气。
我想“强迫”这个数字在它前面总是有一个0,如果它低于10.所以如果数字是5,它应该是05。
我找到了一个使用jQuery的解决方案,但它只在下一个幻灯片加载并且数字发生变化时才会工作,然后下一个数字在它前面没有零。 这是脚本:
$(".number").text(function(i, val){
return $.trim(val).length === 1 ? '0' + val : val;
});
有没有办法让jQuery继续检查数字,每次数字低于10时加零?还是其他一些解决方案?
希望有人可以提供帮助:)
答案 0 :(得分:0)
嗯,可以在php中做到这一点吗?
echo addZero(6);
function addZero($n){
if($n < 10 && $n > -1) return "0".$n;
else return $n;
}
答案 1 :(得分:0)
如果要使用JQuery,可以将div的内部元素更改为文本输入,并将其设置为文本样式。然后,将您的函数绑定到textfield的change事件。
$(".number").change(function(i, val){
return $.trim(val).length === 1 ? '0' + val : val;
});
这将允许在文本更改时调用您的函数。
[1]这是一个很好的链接,可以显示您可以在JQuery中使用的所有各种事件,以及[2]我在关于监视DOM属性的评论中链接的帖子。
答案 2 :(得分:0)
刚刚做了这个(非常脏)黑客,它解决了我的问题!
我能够在<span class="extra-zero">0</span>
<div class="number">
然后使用此代码隐藏或显示:
$(".number").bind("DOMSubtreeModified",function(){
$(function() {
$(".number").filter(function() {
if ($(this).text() < 10 ) {
$('.extra-zero').css({ 'display': 'inline' });
}
else {
$('.extra-zero').css({ 'display': 'none' });
}
});
});
});
将前缀添加到零会更好,但它对我不起作用,所以我想我会坚持我的肮脏黑客。 谢谢大家回答并尝试提供帮助。