专栏首页一个爱瞎折腾的程序猿js实用方法记录-指不定哪天就会用到的js方法

js实用方法记录-指不定哪天就会用到的js方法

js实用方法记录-指不定哪天就会用到的js方法

常用或者不常用都有

判断是否在微信浏览器中

测试代码:isWeiXin()==false

/**
 * 是否在微信中
 */
function isWeixin() {

  return (
    navigator.userAgent
      .toLowerCase()
      .indexOf('micromessenger') > -1
  )
}

全角转半角

测试代码:wholetoHalf('hello'')=='hello'

/**
 * 转换全角字符串
 * @param {string} txt 含全角字符串
 */
function wholetoHalf(txt){
    if (!txt) {
        return txt;
    }
    var tmp = "";
    for (var i = 0; i < txt.length; i++) {
        if (txt.charCodeAt(i) > 65280 && txt.charCodeAt(i) < 65375) {
            tmp += String.fromCharCode(txt.charCodeAt(i) - 65248);
        }
        else if (txt.charCodeAt(i) == 12288) {
            tmp += String.fromCharCode(32);
        }
        else {
            tmp += String.fromCharCode(txt.charCodeAt(i));
        }
    }
    return tmp;
}

生成Guid

/**
 * 生成Guid
 */
function genGuid() {
    function S4() {
        return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
    }
    return (S4() + S4() + "-" + S4() + "-4" + S4().substr(0, 3) + "-" + S4() + "-" + S4() + S4() + S4()).toLowerCase();
}

获取滚动条距顶部距离

/**
 * 获取滚动条距顶部距离
 */
function getScrollTop() {
    var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0;
    if (document.body) {
        bodyScrollTop = document.body.scrollTop;
    }
    if (document.documentElement) {
        documentScrollTop = document.documentElement.scrollTop;
    }
    scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop;
    return scrollTop;
}

获取滚动条高度

/**
 * 获取滚动条高度 默认
 */
function getScrollHeight() {
    var scrollHeight = 0, bodyScrollHeight = 0, documentScrollHeight = 0;
    if (document.body) {
        bodyScrollHeight = document.body.scrollHeight;
    }
    if (document.documentElement) {
        documentScrollHeight = document.documentElement.scrollHeight;
    }
    scrollHeight = (bodyScrollHeight - documentScrollHeight > 0) ? bodyScrollHeight : documentScrollHeight;
    return scrollHeight;
}

通过判断滚动条位置操作元素

if(getScrollHeight() > document.documentElement.clientHeight 
    && getScrollTop()>getScrollHeight()/4){//有滚动条且滚动条距离顶部在四分之外
    //显示回到顶部浮层什么的~~
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • vue-router的history模式发布配置

    如果你正在尝试将基于vue-router的项目部署到windows中,希望本文能够有所帮助。

    易墨
  • nodejs常用代码片段

    调用:node index.js --target test 接收:const config=loadConifg(['target'],'--') //co...

    易墨
  • js实用方法记录-js动态加载css、js脚本文件

    方法测试:openApp('ios页面','**.apk','metools://home');

    易墨
  • C#版(击败97.76%的提交) - Leetcode 557. 反转字符串中的单词 III - 题解

    Leetcode 557. Reverse Words in a String III 在线提交: https://leetcode.com/problem...

    Enjoy233
  • Pycharm代码注释支持Google风格

    在设置中找到 Tools > Python Integrated Tools 下拉选择Docstring format为Google

    马哥Python
  • 【Leetcode】124. 二叉树中的最大路径和

    本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。

    Leetcode名企之路
  • 函数节流

    函数节流的定义: 规定的单位时间内只执行一次,如果在单位时间内执行了多次,那么最后也只会执行一次。

    用户4344670
  • Python实战应用,通过adb实现控制手机,实现自动关注抖音粉丝

    云飞
  • 无需用户输入,Adobe提出自动生成高质量合成图像新方法

    图像合成是指组合不同图像中的部分区域以合成一张新的图像,一个常见的用例是肖像图片的背景替换。为了获得高质量的合成图像,经常需要专业人员手动执行多个编辑步骤,例如...

    代码医生工作室
  • 无需用户输入,Adobe提出自动高质量图像合成新方法

    图像合成是指组合不同图像中的部分区域以合成一张新的图像,一个常见的用例是肖像图片的背景替换。为了获得高质量的合成图像,经常需要专业人员手动执行多个编辑步骤,例如...

    CV君

扫码关注云+社区

领取腾讯云代金券