javascript函数(格式化数字,日期比较,光标处插入或修改文字,JS图片动画效果)

简介:
javascript格式化数字,如 8888.85745 格式化成 8,888.86
<html>
<head>
<title> New Document </title>
</head>
<body>
<script language="JavaScript">
<!--
//lael 2005-11-09
function formatnumber(fnumber,fdivide,fpoint,fround){
    var fnum = fnumber + '';
    var revalue="";
    if(fnum==null){
        for(var i=0;i<fpoint;i++)revalue+="0";
        return "0."+revalue;
    }
    fnum = fnum.replace(/^\s*|\s*$/g,'');
    if(fnum==""){
        for(var i=0;i<fpoint;i++)revalue+="0";
        return "0."+revalue;
    }
    fnum=fnum.replace(/,/g,"");
    if(fround){
        var temp = "0.";
        for(var i=0;i<fpoint;i++)temp+="0";
        temp += "5";

        fnum = Number(fnum) + Number(temp);
        fnum += '';
    }
    var arrayf=fnum.split(".");
    if(fdivide){
        if(arrayf[0].length>3){
            while(arrayf[0].length>3){
                revalue=","+arrayf[0].substring(arrayf[0].length-3,arrayf[0].length)+revalue;
                arrayf[0]=arrayf[0].substring(0,arrayf[0].length-3);
            }
        }
    }
    revalue=arrayf[0]+revalue;
    if(arrayf.length==2&&fpoint!=0){
        arrayf[1]=arrayf[1].substring(0,(arrayf[1].length<=fpoint)?arrayf[1].length:fpoint);

        if(arrayf[1].length<fpoint)
            for(var i=0;i<fpoint-arrayf[1].length;i++)arrayf[1]+="0";
        revalue+="."+arrayf[1];
    }else if(arrayf.length==1&&fpoint!=0){
        revalue+=".";
        for(var i=0;i<fpoint;i++)revalue+="0";
    }
    return revalue;
}
//-->
</script>
<input name="text1" type="text" value="" onblur="this.value=formatnumber(this.value, true, 2, true)" />
</body>
</html>
//日期比较
function datecompare(date1, date2){
var d1 = new Date(date1.replace(/\-/g, "\/"));
var d2 = new Date(date2.replace(/\-/g, "\/"));
var flag = true;
if(isNaN(d1) || isNaN(d2))flag = false;//不是日期
if(flag &&
d1.getFullYear() > d2.getFullYear()){
flag = false;
}
if(flag &&
d1.getFullYear() == d2.getFullYear() &&
d1.getMonth() > d2.getMonth()){
flag = false;
}
if(flag &&
d1.getFullYear() == d2.getFullYear() &&
d1.getMonth() == d2.getMonth() &&
d1.getDate() > d2.getDate()){
flag = false;
}
return flag;
}
//cookie
function getcookievalue(sname){
var svalue="";
var sname=sname+"=";
if(document.cookie.length>0){ 
offset=document.cookie.indexOf(sname);
if(offset!=-1){ 
offset+=sname.length;
end=document.cookie.indexOf(";",offset);
if(end==-1)end=document.cookie.length;
svalue=unescape(document.cookie.substring(offset,end))
}
}
return svalue;
}
function setcookievalue(sname,svalue){
var expire="";
expire=new Date((new Date()).getTime()+31536000);
expire="; expires="+expire.toGMTString();
document.cookie=sname+"="+escape(svalue)+expire;
}
光标处插入或修改文字
function storeCaret(_obj1){
    if(_obj1.createTextRange) 
        _obj1.caretPos = document.selection.createRange().duplicate();   
}
function insertAtCaret() {
    var _obj1 = document.getElementById("textarea1");       
    var _text = "[b]";
    _obj1.focus();
    storeCaret(_obj1);
    
    if(_obj1.createTextRange && _obj1.caretPos){
        var caretPos = _obj1.caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?_text + ' ' : _text;      
    }else _obj1.value = _text;

JS图片动画效果
效果:http://www.carsclub.com.cn/
<style>
#flash_img {
    filter: revealtrans(duration=2.0,transition=12); width: 100%;
}
</style>

<table border="0" align="right" cellpadding="0" cellspacing="0">
                    <tr>
                      <td class="focus-ctl-nows" id="flash_show_ctl_0" onClick="showImage(0);">1</td>

                      <td class="focus-ctl" id="flash_show_ctl_1" onClick="showImage(1);">2</td>
                      <td class="focus-ctl" id="flash_show_ctl_2" onClick="showImage(2);">3</td>
                      <td class="focus-ctl" id="flash_show_ctl_3" onClick="showImage(3);">4</td>
                      <td class="focus-ctl" id="flash_show_ctl_4" onClick="showImage(4);">5</td>
                      <td>&nbsp;</td>
                    </tr>
                  </table>
<div id="flash_img" style="width:334px; height:167px;"></div>
cript language="javascript">
<!-
<s-
////////////////begin
var showImageIndex = -1;
var imageTimer = null;
function showImage(imageIndex)
{
    var flash_img_div = document.getElementById("flash_img");
    
    if(imageIndex>=fImgs.length){
        imageIndex = 0;
    } 
    if(!fImgs[imageIndex] || imageIndex==showImageIndex)return false;     
    var imgId = "__fImg"+imageIndex;
    flash_img_div.filters && flash_img_div.filters[0].Apply();
    for(var i=0; i<flash_img_div.childNodes.length; i++){
        flash_img_div.removeChild(flash_img_div.childNodes[i]);
    }
    for(var i=0; i<fImgs.length;i++){
        if(i == imageIndex)continue;
        document.getElementById("flash_show_ctl_" + i).className = "focus-ctl";    
    }
    document.getElementById("flash_show_ctl_" + imageIndex).className = "focus-ctl-nows";
    var pos = fImgs[imageIndex].img.lastIndexOf(".");
    if( fImgs[imageIndex].img.substr(pos+1).substr(0,3).toLowerCase()=="swf" ){
        flash_img_div.innerHTML += '\
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="334" height="167" id="'+imgId+'">\
                <param name="movie" value="'+fImgs[imageIndex].img+'" />\
                <param name="quality" value="high" />\
                <param name="wmode" value="transparent">\
                <param name="scale" value="exactfit">\
                <embed src="'+fImgs[imageIndex].img+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="334" height="167"></embed>\
            </object>';
    }else{
        var img = new Image();
        img.border = "0";
        img.src = fImgs[imageIndex].img;
        img.width = "334";
        img.height = "167";
        var a = document.createElement("a");
        a.href = fImgs[imageIndex].href;
        a.title = fImgs[imageIndex].title;
        a.target = "_blank";
        a.id = imgId;
        a.appendChild(img);
        flash_img_div.appendChild(a);
    }
    flash_img_div.filters && flash_img_div.filters[0].Play();
    showImageIndex = imageIndex;    
    return true;
}
function imagePlay()
{
    if(imageTimer) return;
    if(showImageIndex>=fImgs.length){
        showImageIndex = -1;
    }
    showImage(showImageIndex+1);
    imageTimer = setInterval(function(){
                    var stat = showImage(showImageIndex+1);
                    if(!stat){
                        imageStop();
                    }    
                },8000);
}
function imageStop(){
    if(imageTimer)clearInterval(imageTimer);
    imageTimer = null;
}
function showNextImage(){
    showImage(showImageIndex+1);
}
function showPrevImage(){
    showImage(showImageIndex-1);
}
var fImgs = new Array();
fImgs[0] = {title:"",img:"upload/images/subject/2007-02-06/1174915891_outline.jpg",href:"news.php?id=220"};
fImgs[1] = {title:"",img:"upload/images/subject/2007-02-06/1175244094_outline.jpg",href:"news.php?id=212"};
fImgs[2] = {title:"",img:"upload/images/subject/2007-02-06/1177150583_outline.jpg",href:"news.php?id=219"};
fImgs[3] = {title:"",img:"upload/images/subject/2007-02-06/1175897263_outline.jpg",href:"news.php?id=217"};
fImgs[4] = {title:"",img:"upload/images/subject/2007-02-06/1177509461_outline.jpg",href:"news.php?id=213"};
////////////////end
window.document.body.onload = new function(){
    imagePlay();//焦点图文
}
//-->

</script>

本文转自博客园执着的笨蛋的博客,原文链接:javascript函数(格式化数字,日期比较,光标处插入或修改文字,JS图片动画效果),如需转载请自行联系原博主。

目录
相关文章
|
1月前
|
JavaScript 前端开发 Java
[JS]同事:这次就算了,下班回去赶紧补补内置函数,再犯肯定被主管骂
本文介绍了JavaScript中常用的函数和方法,包括通用函数、Global对象函数以及数组相关函数。详细列出了每个函数的参数、返回值及使用说明,并提供了示例代码。文章强调了函数的学习应结合源码和实践,适合JavaScript初学者和进阶开发者参考。
43 2
[JS]同事:这次就算了,下班回去赶紧补补内置函数,再犯肯定被主管骂
|
1月前
|
前端开发 JavaScript 开发者
除了 Generator 函数,还有哪些 JavaScript 异步编程解决方案?
【10月更文挑战第30天】开发者可以根据具体的项目情况选择合适的方式来处理异步操作,以实现高效、可读和易于维护的代码。
|
1月前
|
JavaScript 前端开发 搜索推荐
Moment.js、Day.js、Miment,日期时间库怎么选?
【10月更文挑战第29天】如果你需要一个功能强大、插件丰富的日期时间库,并且对性能要求不是特别苛刻,Moment.js是一个不错的选择;如果你追求极致的轻量级和高性能,那么Day.js可能更适合你;而如果你有一些特定的日期时间处理需求,并且希望在性能和功能之间取得平衡,Miment也是可以考虑的。
|
1月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
480 4
|
1月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这些工具,可以确保代码风格一致,提高代码质量和可读性。
161 1
|
2月前
|
JavaScript 前端开发
JavaScript 函数语法
JavaScript 函数是使用 `function` 关键词定义的代码块,可在调用时执行特定任务。函数可以无参或带参,参数用于传递值并在函数内部使用。函数调用可在事件触发时进行,如用户点击按钮。JavaScript 对大小写敏感,函数名和关键词必须严格匹配。示例中展示了如何通过不同参数调用函数以生成不同的输出。
|
2月前
|
存储 JavaScript 前端开发
JS函数提升 变量提升
【10月更文挑战第6天】函数提升和变量提升是 JavaScript 语言的重要特性,但它们也可能带来一些困惑和潜在的问题。通过深入理解和掌握它们的原理和表现,开发者可以更好地编写和维护 JavaScript 代码,避免因不了解这些机制而导致的错误和不一致。同时,不断提高对执行上下文等相关概念的认识,将有助于提升对 JavaScript 语言的整体理解和运用能力。
|
2月前
|
JavaScript 前端开发 开发者
如何在 VSCode 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升团队协作效率和代码质量。
【10月更文挑战第9天】随着前端开发技术的发展,代码规范和格式化工具变得至关重要。本文介绍如何在 VSCode 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升团队协作效率和代码质量。通过安装插件、配置 ESLint 和 Prettier,以及设置 VSCode,实现代码实时检查和格式化,确保代码风格一致。
318 2
|
2月前
|
存储 JavaScript 前端开发
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
51 0
|
Web App开发 JavaScript 前端开发
JavaScript 图片3D展示空间(3DRoom)
一般的平面效果,通过改变水平和垂直坐标就能实现,再加上深度,就能在视觉上的产生3D(三维)的效果。 程序就是模拟这样一个三维空间,里面的图片会根据三维坐标显示在这个空间。 很久以前就看过一个3DRoom效果,是用复杂的计算实现的。
1244 0