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图片动画效果),如需转载请自行联系原博主。

目录
相关文章
|
9月前
|
机器学习/深度学习 JavaScript 前端开发
JS进阶教程:递归函数原理与篇例解析
通过对这些代码示例的学习,我们已经了解了递归的原理以及递归在JS中的应用方法。递归虽然有着理论升华,但弄清它的核心思想并不难。举个随手可见的例子,火影鸣人做的影分身,你看到的都是同一个鸣人,但他们的行为却能在全局产生影响,这不就是递归吗?雾里看花,透过其间你或许已经深入了递归的魅力之中。
361 19
|
10月前
|
资源调度 JavaScript 前端开发
Day.js极简轻易快速2kB的JavaScript库-替代Moment.js
dayjs是一个极简快速2kB的JavaScript库,可以为浏览器处理解析、验证、操作和显示日期和时间,它的设计目标是提供一个简单、快速且功能强大的日期处理工具,同时保持极小的体积(仅 2KB 左右)。
604 24
|
9月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
11月前
|
JavaScript
JS实现多条件搜索函数
JS封装的多条件搜索
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
276 32
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 前端开发 Java
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
柯里化是一种强大的函数式编程技术,它通过将函数分解为单参数形式,实现了灵活性与可复用性的统一。无论是参数复用、延迟执行,还是函数组合,柯里化都为现代编程提供了极大的便利。 从 Redux 的选择器优化到复杂的数据流处理,再到深度嵌套的函数优化,柯里化在实际开发中展现出了非凡的价值。如果你希望编写更简洁、更优雅的代码,柯里化无疑是一个值得深入学习和实践的工具。从简单的实现到复杂的应用,希望这篇博客能为你揭开柯里化的奥秘,助力你的开发之旅! 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 前端开发 索引