自己做的js(一)

//发一些自己经常使用的js
//不要拿西瓜砸我
//写的不好请留言给我

//功能:获取指定id的DOM对象
function $(ctrlID)
{
    return document.getElementById(ctrlID);
}
//获取当天日期
function currDate(ctrlId)
{
    var currDate=new Date();
    var m=parseInt(currDate.getMonth())+1;
    var d=parseInt(currDate.getDate());
    if(m<10)
    {
        m="0"+m;
    }
    if(d<10)
    {
        d="0"+d;
    }
    ctrlId.value = currDate.getYear()+"-"+m+"-"+d;
}
//获取当月日期(尽有年月)
function currDate_YM(ctrlId)
{
    var currDate=new Date();
    var m=parseInt(currDate.getMonth())+1;
    if(m<10)
    {
        m="0"+m;
    }
    ctrlId.value = currDate.getYear()+"-"+m;
}
//获取下个月日期(尽有年月)
function currDate_YM_Next(ctrlId)
{
    var currDate=new Date();
    var y=parseInt(currDate.getYear());
    var m=parseInt(currDate.getMonth())+1;
    if(m==12)
    {
        y=y+1;
        m=1;
    }
    else m+=1;
    if(m<10)
    {
        m="0"+m;
    }
    ctrlId.value = y+"-"+m;
}
//显示divID标签内容
function showDiv(divID)
{
    $(divID).style.visibility="visible";
}
//隐藏divID标签内容
function hideDiv(divID)
{
    $(divID).style.visibility="hidden";
}
//设置divid标签位置
function setIdPosition(divid)
{
    var x=document.body.scrollLeft+event.clientX;
    var y=document.body.scrollTop+event.clientY;
    var a=window.event.offsetX;
    var b=window.event.offsetY;
    x=x-a-3;
    y=y-b;
    y=y+17;
    $(divid).style.left = x;
    $(divid).style.top = y;
}
//点击即拷贝obj对象内容
var selectcopy = function(obj)
{    
    return function()    
    {
        select_copy(obj);//该函数为外部定义的一个执行函数;
    }
}
function select_copy(obj_str){
    var sel=document.body.createTextRange();
    sel.moveToElementText(obj_str);
    sel.select();
    document.execCommand("copy");
}
//获得一个数的中文大写
function NumToUpperCase(num)
{
    if(num == "0") return "";
    var list1 = new Array("","壹","贰","叁","肆","伍","陆","柒","捌","玖");
    var list2 = new Array("拾","百","仟","萬","亿");
    var money = num.split(".");
    if(money[0].length>12)
    {
        alert("您要计算的内容大于可计算的范围!");
        return;
    }
    var moneysum = "圆";
    for(var i = 0; i<money[0].length; i++)
    {
        switch ((i + 1) % 4)
        {
            case 1:
            {
                if((i + 1)/4 < 1) {moneysum = list1[money[0].substring(money[0].length - i - 1,money[0].length - i)] + moneysum; break;}
                var ling = "";
                if(money[0].substring(money[0].length - i,money[0].length - i + 1) == 0) ling = SingleNumToUpperCase(0);
                if((i + 1)/4 < 2) {moneysum = list1[money[0].substring(money[0].length - i - 1,money[0].length - i)] + list2[3] + ling + moneysum; break;}
                if((i + 1)/4 < 3) {moneysum = list1[money[0].substring(money[0].length - i - 1,money[0].length - i)] + list2[4] + ling + moneysum; break;}
            }
            case 2:
            {
                if(money[0].substring(money[0].length - i - 1,money[0].length - i) != 0)
                    {moneysum = list1[money[0].substring(money[0].length - i - 1,money[0].length - i)] + list2[0] + moneysum; }
                break;
            }
            case 3:
            {
                if(money[0].substring(money[0].length - i - 1,money[0].length - i) != 0)
                    {moneysum = list1[money[0].substring(money[0].length - i - 1,money[0].length - i)] + list2[1] + moneysum; }
                break;
            }
            case 0:
            {
                if(money[0].substring(money[0].length - i - 1,money[0].length - i) != 0)
                    {moneysum = list1[money[0].substring(money[0].length - i - 1,money[0].length - i)] + list2[2] + moneysum; }
                break;
            }
            default: break;
        }
    }
    if(money.length == 2)
    {
        if(parseFloat(money[1].substring(0,2)) == 0) {moneysum += "整"; }
        else
        {
            moneysum += SingleNumToUpperCase(money[1].substring(0,1)) + "角";
            if(money[1].length > 1)
                if(parseInt(money[1].substring(1,2)) != 0)
                    moneysum += list1[money[1].substring(1,2)] + "分";
        }
    }
    else moneysum += "整";
    return moneysum;
}
//获得个位数的中文大写
function SingleNumToUpperCase(num)
{
    var list1 = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
    return list1[num];
}
//设置小数点位数
function setNumPoint(num, pointnum)
{
    if(num == "0") return 0;
    var numsplit = num.split(".");
    var numsum = numsplit[0];
    if(pointnum > 0) numsum += ".";
    else return numsum;
    for(var i = 0; i<pointnum; i++)
    {
        if(numsplit.length > 1)
            if(numsplit[1].length >= i + 1)
            {
                numsum += numsplit[1].substring(i, i + 1);
            }
            else
            {
                numsum += "0";
            }
        else numsum += "0";
    }
    return numsum;
}
//格式化大量id对象值合并为自己想要的代码
function FormatObject()
{
}
//设置id数组
FormatObject.prototype.setArrayObj = function(arryobj)
{
    var arrayobj;
    this.arrayobj = arryobj;
}
//得到所有对象值(通过分隔符分开)
FormatObject.prototype.getArrayIdContext = function()
{
    var str = $(this.arrayobj[0]).value;
    for(var i = 1; i < this.arrayobj.length; i++)
    {
        str += cellspl + $(this.arrayobj[i]).value;
    }
    return str;
}
//设置对象属性
FormatObject.prototype.setArrayObjAttribute = function(readOnlyArray)
{
    for(var i = 0; i < this.arrayobj.length; i++)
    {
        var idObj = $(this.arrayobj[i]);
        idObj.readOnly = (readOnlyArray == "true" ? "true" : "false");
    }
}
//格式化input<text>
function FormatInputText()
{
    var onlyNumText = "", numPointText = "", onlyChinaText = "", commonText = "";
    
    this.onlyNumText = "";
    
    this.numPointText = "";
    
    this.onlyChinaText = "";
    
    this.commonText = "";
}
//获得竟能输入数字的input
FormatInputText.prototype.getOnlyNum = function(objid, stylecont, classcont, readonly)
{
    if(stylecont != "" && stylecont != null)
        stylecont = " style=/"" + stylecont + "/" ";
    else
        stylecont = "";
    if(classcont != "" && classcont != null)
        classcont = " class=/"" + classcont + "/" ";
    else
        classcont = "";
    if(readonly == "true")
        readonly = " readonly=/"readonly/" ";
    else
        readonly = "";
    return "<input id=/"" + objid + "/" οnkeyup=/"this.value=this.value.replace(D//g,/'/')/" onafterpaste=/"this.value=this.value.replace(D//g,/'/')/" " + stylecont + classcont + readonly + ">";
}
//获得输入带小数点的数字input
FormatInputText.prototype.getNumPoint = function(objid, stylecont, classcont, readonly, checkproduct)
{
    if(stylecont != "" && stylecont != null)
        stylecont = " style=/"" + stylecont + "/" ";
    else
        stylecont = "";
    if(classcont != "" && classcont != null)
        classcont = " class=/"" + classcont + "/" ";
    else
        classcont = "";
    if(readonly == "true")
        readonly = " readonly=/"readonly/" ";
    else
        readonly = "";
    if(checkproduct != "")
        checkproduct = "TableProperty_checkride(" + checkproduct + ");";
    return "<input id=/"" + objid + "/" t_value=/"/" o_value=/"/" οnkeypress=/"if(!this.value.match(//^[//+//-]?//d*?//.?//d*?$//))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(//^(?:[//+//-]?//d+(?://.//d+)?)?$//))this.o_value=this.value/" οnkeyup=/"if(!this.value.match(//^[//+//-]?//d*?//.?//d*?$//))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(//^(?:[//+//-]?//d+(?://.//d+)?)?$//))this.o_value=this.value;" + checkproduct + "/" οnblur=/"if(!this.value.match(//^(?:[//+//-]?//d+(?://.//d+)?|//.//d*?)?$//))this.value=this.o_value;else{if(this.value.match(//^//.//d+$//))this.value=0+this.value;if(this.value.match(//^//.$//))this.value=0;this.o_value=this.value}/" " + stylecont + classcont + readonly + ">";
}
//获得尽能输入中文的input
FormatInputText.prototype.getOnlyChina = function(objid, stylecont, classcont, readonly)
{
    if(stylecont != "" && stylecont != null)
        stylecont = " style=/"" + stylecont + "/" ";
    else
        stylecont = "";
    if(classcont != "" && classcont != null)
        classcont = " class=/"" + classcont + "/" ";
    else
        classcont = "";
    if(readonly == "true")
        readonly = " readonly=/"readonly/" ";
    else
        readonly = "";
    return "<input id=/"" + objid + "/" οnkeyup=/"value=value.replace(//[ -~]//g,/'/')/" οnkeydοwn=/"if(event.keyCode==13) event.keyCode=9/" " + stylecont + classcont + readonly + ">";
}
//获得普通input
FormatInputText.prototype.getCommonText = function(objid, stylecont, classcont, readonly)
{
    if(stylecont != "" && stylecont != null)
        stylecont = " style=/"" + stylecont + "/" ";
    else
        stylecont = "";
    if(classcont != "" && classcont != null)
        classcont = " class=/"" + classcont + "/" ";
    else
        classcont = "";
    if(readonly == "true")
        readonly = " readonly=/"readonly/" ";
    else
        readonly = "";
    return "<input id=/"" + objid + "/" type=/"text/" " + stylecont + classcont + readonly + " //>"
}
/*LTrim(string):去除左边的空格*/
function LTrim(str){
var whitespace=new String(" /t/n/r");
var s=new String(str);
if(whitespace.indexOf(s.charAt(0))!=-1){
  var j=0,i=s.length;
  while(j<i&&whitespace.indexOf(s.charAt(j))!=-1){
   j++;
  }
  s=s.substring(j,i);
}
return s;
}
/*RTrim(string):去除右边的空格*/
function RTrim(str){
var whitespace=new String(" /t/n/r");
var s=new String(str);
if(whitespace.indexOf(s.charAt(s.length-1))!=-1){
  var i=s.length-1;
  while(i>=0&&whitespace.indexOf(s.charAt(i))!=-1){
   i--;
  }
  s=s.substring(0,i+1);
}
return s;
}
/*Trim(string):去除字符串两边的空格*/
function Trim(str){
return RTrim(LTrim(str));
}

//拖拽div定义
function DivDrag() {
    
    var obj, ox, oy;
    function startDrag(e) {
        //当按下时初始化参数
        var e = window.event || e;
        obj = this.root;
        ox = e.clientX - obj.offsetLeft;
        oy = e.clientY - obj.offsetTop;
        document.onmousemove = moveDrag;
        document.onmouseup = stopDrag;
    }
    function moveDrag(e) {
        //鼠标移动时改变obj的位置
        var e = window.event || e;
        obj.style.left = e.clientX - ox + "px";
        obj.style.top = e.clientY - oy + "px";
    }
    function stopDrag() {
        //当松开时清除onmousemove方法
        document.onmousemove = document.onmouseup = null;
    }
    this.add = function (o, root) {
        //添加对象
        o.root = root;
        o.onmousedown = startDrag;
    };
}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍JS中bind函数的实现方法。 在JS中,bind函数是用来改变函数内部this的指向的,它会返回一个新的函数,这个新函数的this指向是我们指定的对象。 以下是一个简单的bind函数的实现示例: ```javascript Function.prototype.myBind = function(context) { if (typeof this !== 'function') { throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); } var self = this; var args = Array.prototype.slice.call(arguments, 1); var fNOP = function() {}; var fBound = function() { var bindArgs = Array.prototype.slice.call(arguments); return self.apply(this instanceof fNOP ? this : context, args.concat(bindArgs)); } fNOP.prototype = this.prototype; fBound.prototype = new fNOP(); return fBound; }; ``` 在这个函数中,我们首先判断this是否为函数类型,如果不是,就抛出一个 TypeError,确保我们绑定的是一个函数。然后,我们保存this的引用,将传入的参数保存在args变量中,创建一个fNOP函数,最后返回一个新函数fBound。 在fBound函数内部,我们使用apply方法来调用原函数,并且将指定的this和参数传递给它。这里需要注意的是,如果我们使用new关键字来创建fBound函数的实例,那么this指向的就是这个实例对象,否则this指向的就是我们指定的context对象。 最后,我们使用原型链来继承原函数,并将fBound函数的原型指向fNOP的实例,这样我们就可以在fBound函数中访问原函数的prototype属性了。 希望这个简单的bind函数实现可以帮助到您。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值