js函数学习总结

哈哈 阅读:158 2021-08-26 19:28:05 评论:0
本文章主要介绍了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(); 
            } 
}; 

标签:JavaScript
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
KIKK导航

KIKK导航

关注我们