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

目录
相关文章
|
13天前
|
前端开发 API 开发者
Next.js 实战 (五):添加路由 Transition 过渡效果和 Loading 动画
这篇文章介绍了Framer Motion,一个为React设计的动画库,提供了声明式API处理动画和页面转换,适合创建响应式用户界面。文章包括首屏加载动画、路由加载Loading、路由进场和退场动画等主题,并提供了使用Framer Motion和next.js实现这些动画的示例代码。最后,文章总结了这些效果,并邀请读者探讨更好的实现方案。
|
2月前
|
JavaScript 前端开发
如何使用时间切片来优化JavaScript动画的性能?
如何使用时间切片来优化JavaScript动画的性能?
|
19天前
|
JavaScript 前端开发
【JavaScript】——JS基础入门常见操作(大量举例)
JS引入方式,JS基础语法,JS增删查改,JS函数,JS对象
|
2月前
|
JavaScript 前端开发 Java
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
springboot解决js前端跨域问题,javascript跨域问题解决
|
2月前
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
|
2月前
|
JavaScript 前端开发
如何在不影响性能的前提下使用JavaScript库来实现复杂的动画效果?
如何在不影响性能的前提下使用JavaScript库来实现复杂的动画效果?
|
2月前
|
JavaScript 前端开发
CSS3 动画和 JavaScript 动画的性能比较
具体的性能表现还会受到许多因素的影响,如动画的复杂程度、浏览器的性能、设备的硬件条件等。在实际应用中,需要根据具体情况选择合适的动画技术。
|
2月前
ractive.js联系表单动画效果源码
一款ractive.js联系表单动画效果,很有创意的发送邮件、联系内容等表单,基于ractive.js实现的动画效果,以发送信件的方式。
28 1
|
2月前
|
JavaScript 前端开发 搜索推荐
Moment.js、Day.js、Miment,日期时间库怎么选?
【10月更文挑战第29天】如果你需要一个功能强大、插件丰富的日期时间库,并且对性能要求不是特别苛刻,Moment.js是一个不错的选择;如果你追求极致的轻量级和高性能,那么Day.js可能更适合你;而如果你有一些特定的日期时间处理需求,并且希望在性能和功能之间取得平衡,Miment也是可以考虑的。
|
2月前
|
JavaScript
js动画循环播放特效源码(上班族的一天)
js动画循环播放特效是一段实现了包含形象的卡通小人吃、睡、电脑工作的网页动画,js循环动画,简单的画面设计。非常丝滑有意思,欢迎对此代码感兴趣的朋友前来下载参考。
36 2