JS实现震动动画与金额三位转换

项目需要表单错误提醒,看到苹果APP应用上的输入框错误提醒左右 晃动动感十足,于是乎感觉就是这种效果了。另外需要对金钱数三位分割比如:1000000 分割后1,000,000 都是用JS实现的。代码如下


/*
 *
 * 控件震动动画
 * obj控件
 * time震动时间长——短循环长度
 * wh震动幅度px
 * fx动画速度s
 */
function flash(obj,time,wh,fx)
{
	$(function(){
	var $panel = $(obj);
	var offset = $panel.offset()-$panel.width();
	var x= offset.left;
	var y= offset.top;
	time = time?time:10;
	fx = fx?fx:100;
	wh = wh?wh:6;
	for(var i=1; i<=time; i++){
		if(i%2==0)
		{
			$panel.animate({left:'+'+wh+'px'},fx);
		}else
		{
			$panel.animate({left:'-'+wh+'px'},fx);
		}

	}
	$panel.animate({left:0},fx);
	$panel.offset({ top: y, left: x });

	});
}

/*
 *
 * 添加金额转换 比如 1000.36 转换为1,000.36
 * 如果什么 n 为空默认保留2位
 *
 */
function fmoney(s, n)
{
    n = n >= 0 && n <= 20 ? n : 2;
    s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
    var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1],m;
    t = "";
    for (i = 0; i < l.length; i++)
    {
        t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
    }
    if(n==0)m = t.split("").reverse().join("");
    else m = t.split("").reverse().join("") + "." + r;

    return m;
}

1 Comment

我的博客现在尽量少用了插件,怕一弄错,就还不了原了。

Leave a Reply

Your email address will not be published.