js函数学习

一、html标签替换

function mystring(str) {
                var ret = str;
                while(ret.indexOf(">") >= 0 || ret.indexOf("<") >= 0) {
                    ret = ret.replace("<", "&lt;").replace(">", "&gt;");
                }
                return ret;
 }

二、时间拼接

function time() {
                var t = new Date();
                var n = t.getFullYear();
                var y = bianhuan(t.getMonth() + 1);
                var r = bianhuan(t.getDate());
                var s = bianhuan(t.getHours());
                var f = bianhuan(t.getMinutes());
                var m = bianhuan(t.getSeconds());
                var time = n + "-" + y + "-" + r + " " + s + ":" + f + ":" + m;
                return time;
}

三、加“0”判断

function bianhuan(v) {
                v = v < 10 ? "0" + v : v;
                return v;
 }

四、原生JS文件上传

<textarea cols="50" rows="10" id="txt" ondragover="mydragover(event)" ondrop="mydrop(event)" ></textarea>
<input type="file" id="file" onchange="mychange()" />
<input type="button" onclick="tianjia()" value="添加文本" />
<script type="text/javascript">
    function tianjia(){
        document.getElementById("file").click();
    }
    function mychange(){
        var files=document.getElementById("file").files;
        for (var i = 0; i < files.length; i++) {
            var fr=new FileReader();
            fr.readAsText(files[i],"gb2312");
            fr.function(){
                var  txt=document.getElementById("txt");
                txt.innerHTML=this.result;
            };
        }
        
    }
    
    function mydragover(ev){
        ev.preventDefault();
    }
    function mydrop(ev){
        ev.preventDefault();
        var files=ev.dataTransfer.files;
        for (var i = 0; i < files.length; i++) {
                var freader=new FileReader();
                freader.readAsText(files[i]);//没有返回值
                freader.function(){//文件加载完成调用此函数
                    var txt=document.getElementById("txt");
                    txt.innerHTML=this.result;
                };
        }
    }
</script>

五、返回刷新

function CheckReload() {
            if (window.name != bencalie) {
                location.reload();
                window.name = bencalie;
            }
            else {
                window.name = ;
            }

        }

六、获得两个日期之间相差的天数

  //startDate="2018-01-10";
  //  endDate="2018-01-15";
  function getDays(date1, date2) {
        var date1Str = date1.split("-");//将日期字符串分隔为数组,数组元素分别为年.月.日  
        //根据年 . 月 . 日的值创建Date对象  
        var date1Obj = new Date(date1Str[0], (date1Str[1] - 1), date1Str[2]);
        var date2Str = date2.split("-");
        var date2Obj = new Date(date2Str[0], (date2Str[1] - 1), date2Str[2]);
        var t1 = date1Obj.getTime();
        var t2 = date2Obj.getTime();
        var dateTime = 1000 * 60 * 60 * 24; //每一天的毫秒数  
        var minusDays = Math.floor(((t2 - t1) / dateTime));//计算出两个日期的天数差  
        var days = Math.abs(minusDays);//取绝对值  
        return days;
    }

七、判断某天星期几

// startDate="2018-01-10";
                // endDate="2018-01-15";
                var date1 = new Date(startDate).getDay();
                var date2 = new Date(endDate).getDay();
                //console.log(date1+"==="+date2);
                if (date1 == 0) {
                    $("#startDate_xq").html("周日");
                } else if (date1 == 1) {
                    $("#startDate_xq").html("周一");
                } else if (date1 == 2) {
                    $("#startDate_xq").html("周二");
                } else if (date1 == 3) {
                    $("#startDate_xq").html("周三");
                } else if (date1 == 4) {
                    $("#startDate_xq").html("周四");
                } else if (date1 == 5) {
                    $("#startDate_xq").html("周五");
                } else if (date1 == 6) {
                    $("#startDate_xq").html("周六");
                }

                if (date2 == 0) {
                    $("#endDate_xq").html("周日");
                } else if (date2 == 1) {
                    $("#endDate_xq").html("周一");
                } else if (date2 == 2) {
                    $("#endDate_xq").html("周二");
                } else if (date2 == 3) {
                    $("#endDate_xq").html("周三");
                } else if (date2 == 4) {
                    $("#endDate_xq").html("周四");
                } else if (date2 == 5) {
                    $("#endDate_xq").html("周五");
                } else if (date2 == 6) {
                    $("#endDate_xq").html("周六");
                }

八、生成六位不重复验证码函数

 function methods() {
                //定义存储6位验证码的字符串
                var a = "";
                //定义计数器
                var count = 0;
                while(true) { //生成验证码
                    var y = parseInt(Math.random() * 10);
                    //不重复判断,将生成的验证码y和最后的a去对比
                    if(a.indexOf(y) == -1) {
                        a = a + y;
                        count++;
                    }
                    if(count == 6) //判断验证码是不是6位
                    {
                        break;
                    }
                }
                return a;
            }

   console.log(methods());

九、反选效果

<input type="checkbox" value="1" name="IsPhone1"/>电话</label>
//设置选中
1、$('input[name="IsPhone1"]').prop("checked", true);
//获取选中的值
1、$('input:radio:checked').val();
2、$("input[type='radio']:checked").val();
3、$("input[name='rd']:checked").val();
//判断是否选中
1、if ($('input[name="IsPhone1"]').prop("checked")) {
    IsPhone1 = 1;
}

     //反选

     function check_box() {
                 var s=document.getElementById("box");
                 var rs=document.getElementsByName("bx");
                 if(s.checked==true){
                     for (var i=0;i<rs.length;i++) {
                          rs[i].checked=!rs[i].checked;
                     }
                 }
      }

            /**
           全选或反选按钮
            * /
            */
           $("#all").click(function () {
               var isChecked = $(this).prop("checked");
               if (isChecked) {
                   $("tbody input[type='checkbox']").each(function () {
                       $(this).prop("checked", true);
                   });
               } else {
                   $("tbody input[type='checkbox']").each(function () {
                       $(this).prop("checked", false);
                   });
               }
           });
           /**
           判断是否全选事件
            * /
            */
           $("tbody input[type='checkbox']").click(function () {
               var selectall = 1;//默认全选
               $("tbody input[type='checkbox']").each(function () {
                   if ($(this).prop("checked")) {
                       
                   } else {
                       $("#all").prop("checked", false);
                       selectall = 0;
                       return false;
                   }
               });
               if (selectall == 1) {
                   $("#all").prop("checked", true);
               }
           });

/**
           确认分配
            * /
            */
           function okdistribute() {
               var checkboxlength = $("tbody input[type='checkbox']:checked").length;
               if (checkboxlength == 0) {
                   layer.msg('您未选中任何员工', { anim: 6, icon: 2 });
                   return;
               }
               //console.log(checkboxlength);
               var checkedval = [];
               $("tbody input[type='checkbox']").each(function (i) {
                   if ($(this).prop("checked")) {
                       checkedval.push($(this).val());
                   }
               });
               var checkedlength = checkedval.length;//选中了几名员工
               var checkedval = checkedval.join(",");//选中员工的值
               console.log(checkedlength+"---"+checkedval);
               var index = layer.confirm('确定分配' + checkedlength+'名员工到【巡检部门A】吗?', {
                   btn: ['确定', '取消'] //按钮
               }, function () {
                   //layer.msg(data.SuccessStr, { anim: 6, icon: 1 });
                   layer.msg("分配成功", { anim: 6, icon: 1,time:1500 });
               }, function () {
                   layer.close(index);
               });
           }

十、weui时间日期格式化方法

$("#datatext").datetimePicker({
            title: "请选择日期",
            times: function () {
                return [];
            },
            onClose: function (data) {
                console.log(data.value)
                if (data.value) {
                    $("#datatext").val(data.value[0] + "-" + data.value[1] + "-" + data.value[2]);
                    selsectyear = data.value[0];
                    selsectmonth = data.value[1];
                    selsectday = data.value[2];
                }
            }
        });

十一、获取验证码

var _code = "";
var isClick = true;
function GetCode(ele) {

    var phone = $("#phone").val();

    if (phone == "") {
        window.wxc.xcConfirm("请输入手机号!", { title: "提示:" });
        return;
    }
    if (!(/^1[34578]\d{9}$/.test(phone))) {
        window.wxc.xcConfirm("手机号不合法!", { title: "提示:" });
        return;
    }

    if (isClick) {
        isClick = false;
        var timer;
        var n = 60;
        if (n == 60) {
            clearInterval(timer)
        };
        var that = ele;
        timer = setInterval(function () {
            n--;
            if (n == 0) {
                clearInterval(timer);
                that.innerHTML = "重新获取";
                isClick = true;
                n = 60;
            } else {
                n >= 10 ? that.innerHTML = n + 's后重发' : that.innerHTML = '0' + n + 's后重发';
            }
        }, 1000);
    }
}

十二、弹出框一直在屏幕中间

//让指定的DIV始终显示在屏幕正中间
        function letDivCenter(divName){
            var top = ($(window).height() - $(divName).height())/2;
            var left = ($(window).width() - $(divName).width())/2;
            var scrollTop = $(document).scrollTop();
            var scrollLeft = $(document).scrollLeft();
            $(divName).css( { position : 'absolute', 'top' : top + scrollTop, left : left + scrollLeft } ).show();
        }

十三、QQ咨询

onclick="javascript:window.open('http://wpa.qq.com/msgrd?v=3&uin=2900670495&site=qq&menu=yes', '_blank');" title="点击咨询"

十四、去空格

//写一个function,清除字符串前后的空格。字符串中的所有空格(兼容所有浏览器)
            function trim(str){
                return str.replace(/(^\s*)|(\s*$)|(\s*)/g,"")
            }

十五、去滚动条

             ::-webkit-scrollbar {
            width: 0px;
            height: 1px;
        }
        ::-webkit-scrollbar-thumb {
            border-radius: 5px;
            -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
            background: rgba(0, 0, 0, 0.2);
        }
           .categroy-cnt::-webkit-scrollbar {
        background-color: transparent;
    }


/*页面滚动条*/
html::-webkit-scrollbar {
 width:6px;
 height:6px;
 background:#CCC;
}
html::-webkit-scrollbar-button {
 display:none;
}
html::-webkit-scrollbar-track-piece {
 display:none;
}
html::-webkit-scrollbar-thumb {
 background:#999;
}
html::-webkit-scrollbar-thumb:hover {
 background:#3399CC;
}

十六、解决浮点误差js

当你拿到 1.4000000000000001 这样的数据要展示时,建议使用 toPrecision 凑整并 parseFloat 转成数字后再显示,如下:

parseFloat(1.4000000000000001.toPrecision(12)) === 1.4  // True
封装成方法就是:

function strip(num, precision = 12) {
  return +parseFloat(num.toPrecision(precision));
}
为什么选择 12 做为默认精度?这是一个经验的选择,一般选12就能解决掉大部分0001和0009问题,而且大部分情况下也够用了,如果你需要更精确可以调高。

十七、判断是手机还是电脑访问

 //flag返回值为true则说明是电脑客户端
        function check() {
            var userAgentInfo=navigator.userAgent;
            var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod", "BlackBerry", "webOS");
            var flag=true;
            for(var v=0;v<Agents.length;v++) {
                if(userAgentInfo.indexOf(Agents[v])>0) {
                    flag=false;
                    break;
                }
            }
            return flag;
        }

十八、js倒计时

function showTime() {
        var newTime = new Date();
        var endTime = new Date("2019/12/31,00:00:00");
        var totalTime = parseInt(endTime.getTime() - newTime.getTime()) / 1000;

        var day = parseInt(totalTime / (24 * 60 * 60));
        var hour = parseInt((totalTime / (60 * 60)) % 24);
        var min = parseInt((totalTime / 60) % 60);
        var seconds = parseInt(totalTime % 60);
        document.getElementById("show").innerHTML = "ߠkڽŪ۹Ԑ" + day + "ͬ" + hour + "ʱ" + min + "ؖ" + seconds + "ī";
        setTimeout(showTime, 500)
    }
    showTime();

十九、原生滚动加载函数

$(window).scroll(function () {
            if ($(document).scrollTop() <= 0) {
            }
            if ($(document).scrollTop() >= $(document).height() - $(window).height()) {
                if (NextPage < MaxPage || NextPage == MaxPage) {
                    $("#nonext").hide();
                    $("#uping").hide();
                    $("#loading").show();
                    LoadData(NextPage);
                }
            }
 }); 

二十、页面禁止查看源代码函数

document.onkeydown=function(){
    var e = window.event||arguments[0];
    if(e.keyCode==123){
        alert('请尊重劳动成果!');
            return false;
    }else if((e.ctrlKey)&&(e.shiftKey)&&(e.keyCode==73)){
        alert('请尊重劳动成果!');
            return false;
    }else if((e.ctrlKey)&&(e.keyCode==85)){
            alert('请尊重劳动成果!');
            return false;
    }else if((e.ctrlKey)&&(e.keyCode==83)){
           alert('请尊重劳动成果!');
           return false;
    }
}
document.oncontextmenu=function(){
    alert('请尊重劳动成果!');
    return false;
} 

二十一、enter键快速登录或搜索

document.onkeydown = function (event) {
            var e = event || window.event || arguments.callee.caller.arguments[0];
            if (e && e.keyCode == 13) {
                Login();
            }
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值