前端技巧——js篇

前端技巧——js篇

复制操作

copy () {let url = this.code;let oInput = document.createElement('input');oInput.value = url;document.body.appendChild(oInput);oInput.select();  // 选择对象console.log(oINput.value);document.execCommand('Cooy'); //  执行浏览器复制命令alert('复制成功');oInput.remove();
}

出生日期转年龄【正则】

function getAge(str) {var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);r === null ? return false : '' ;var d = new Date(r[1], r[3]-1, r[4]);if (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate == r[4]) {var Y = new Date().getFullYear();return (Y - r[1]);}return '输入有误,请检查格式';
}

随即打乱顺序

var arr = [1,2,3,4,5,6,7,8,9,0];
arr.sort(() => {return (0.5 - Math.random());
})

截取url参数

function getParams () {var obj = {};var url = window.location.search; // 截取'?'及之后的字符串var str = url.string(1, url.length);  // 删除'?'var arr = str.split('&'); // 分割数组for (var i = 0; i < arr.length; i ++) {obj[arr[i].split('=')[0]] = unescape(arr[i].split('=')[1]);}
}

字体自适应

// 根元素
var win = window,
doc = document;
function setFontSize() {var winWidth = $(window).width();// 设计稿比如为750  可自定义var size = (winWidth / 750) * 100;doc.documentElement.style.fontSize = (size < 100 ? size : 100) + 'px';
};
// 页面初始化
setTimeout(function() {
  setFontSize();
}, 100);

随机数

var n = parseInt(10 * Math.random()); // 0~10之间随机整数
console.log(n);

n个元素圆形布局

<style>
.container{position: relative;width: 600px;height: 600px;margin: 0 auto;border: 1px solid #f00;
}
.box{position: absolute;width: 50px;height: 50px;background: #eee;transform: translate(-50%, -50%);
}
</style><div class="container"><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div>
</div><script>// 注,此方法的box可为n个$(function () {// 中心点横坐标var ow = $('.container').width() / 2;// 中心点纵坐标var ot = $('.container').height() / 2;// 起始角度var start = 0;// 半径var radius = 300;// 每一个box对应的角度var avd = 360 / $('.box').length;// 每一个box对应的弧度var ahd = avd * Math.PI / 180;// 设置每一个元素的位置$(.box).each(function (index, element) {$(this).css({'left': Math.sin(ahd * index) * radius + ow,'top': Math.cos(ahd * index) * radius + oh})})})
</script>

桌面弹窗【原生】

// 判断浏览器是否支持“WebNotifications API”
function justify_notifyAPI () {if (window.Notification) {// 支持console.log('支持:WebNotifications API');} else {console.log('不支持:WebNotifications API');}
}
// 浏览器是否支持弹出实例
function justify_showMsg () {if (window.Notification && Notification.permission !== 'undefined') {Notification.requestPermission(function (status) {if (status === 'granted') {var n = New Notification('收到消息:-O', {body: '这是通知内容',icon: 'imgUrl'})} else {var n = new Notification('baby, i'll leave u');}})}
}
// 实例展示弹出内容
function otification_construct () {var notification = new Notification('收到新邮件', {body: '您有一封来自马来西亚??的新邮件',dir: 'auto',lang: 'zh-CN',tag: 'a1',icon: 'imgUrl'});console.log(notification.title);  // 收到新邮件console.log(notification.body);   //  您有一封...
}
// Notifications API的相关事件
function otification_event () {var MM = new Notification('新消息', {body: '一条来自越南??的留言',icon: 'imgUrl'});// 查看信息MM.onshow = function () {window.open('index.html');  // 打开首页MM.close(); // 关闭桌面弹窗};//  报错处理MM.onerror = function () {console.log('Notification have be click');MM.close();}
}

jQuery阻止重复加载

$('#btn').off('click').on('click', function () {// ...
})
jQuery平缓滑动至顶部// 点击返回顶部按钮平缓滑到顶部
$('#top').on('click',function () {$('html, body').animate({scrollTop: 0,},{duration: 500,easing: 'swing'});return false
})// 绑定页面滚动事件
$(window).bind('scroll', function () {var t = $(this).scrollTop();if(t > 100) {$('#top').fadeIn(1000);} else {$('#top').fadeOut(1000);}
})

jQuery平缓滑倒自定义位置

$('.box').on('click', '.link', function () {var linkAdd = $(this).attr('data');$('html, body').animate({scrollTop: $(`#${linkAdd}`).offset().top - 71 + 'px'},{duration: 500, easing: 'swing'};)return false
})

全屏/取消全屏【原生】

<div style="margin:0;height: 100vh;width:100vw; background:#900;overflow: hidden;"><button id="btn">js控制页面的全屏展示和退出全屏显示</button><div id="content" style="width: 100%;height: 100%;background-color: #00ee00;"><div>这个div的父级下是可以全屏显示的内容</div><button onclick="exitFull()">js控制页面的退出全屏显示</button></div>
</div><script language="JavaScript">
document.getElementById("btn").onclick=function(){var elem = document.getElementById("content");requestFullScreen(elem);// 某个页面元素//requestFullScreen(document.documentElement);// 整个网页
};function requestFullScreen(element) {// 判断各种浏览器,找到正确的方法var requestMethod = element.requestFullScreen || //W3Celement.webkitRequestFullScreen ||    //Chrome等element.mozRequestFullScreen || //FireFoxelement.msRequestFullScreen; //IE11if (requestMethod) {requestMethod.call(element);}else if (typeof window.ActiveXObject !== "undefined") {//for Internet Explorervar wscript = new ActiveXObject("WScript.Shell");if (wscript !== null) {wscript.SendKeys("{F11}");}}
}//退出全屏 判断浏览器种类
function exitFull() {// 判断各种浏览器,找到正确的方法var exitMethod = document.exitFullscreen || //W3Cdocument.mozCancelFullScreen ||    //Chrome等document.webkitExitFullscreen || //FireFoxdocument.webkitExitFullscreen; //IE11if (exitMethod) {exitMethod.call(document);}else if (typeof window.ActiveXObject !== "undefined") {//for Internet Explorervar wscript = new ActiveXObject("WScript.Shell");if (wscript !== null) {wscript.SendKeys("{F11}");}}
}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Webpack基础之插件

插件(Plugins)&#xff1a; 插件是 wepback 的支柱功能。在你使用 webpack 配置时&#xff0c;webpack 自身也构建于同样的插件系统上&#xff01; 插件目的在于解决 loader 无法实现的其他事 剖析&#xff1a; webpack 插件是一个具有 apply 属性的 JavaScript 对象。 app…

Taro+react开发(27)别加view

return (<div><View>11111</View><ImageclassName"unit-info-tax-tip"src{require("./companyTitle/system-item1.png")}/></div>

使用windows资源管理器打开jar

在命令行里输入&#xff1a; assoc .jarCompressedFolder转载于:https://www.cnblogs.com/pavkoo/p/3805456.html

MYSQL进入客户端后切换服务器的简单做法试验

今天发现有个\r 选项可以切换连接。不过功能比较单一。connect (\r) Reconnect to the server. Optional arguments are db and host.进入客户端后切换服务器连接的做法。只能是切换到和另外一个SERVER端口&#xff0c;用户名&#xff0c;密码都是一样的。原来SERVER&#xf…

dos下登录fedora下的vsftp失败

我有两个FTP站点&#xff1a;A - windows xp下的IIS, B - 虚拟机fedora12下的vsftp&#xff0c;都是正常运行的&#xff0c;同时这两个站点都允许匿名访问。 在dos下访问A&#xff0c;或在fedora12终端下登录B&#xff0c;都是成功的。但是在dos下访问B&#xff0c;或在fedora…

Flex布局实战篇

网格布局&#xff1a; 1.基本网格布局&#xff1a; 最简单的网格布局&#xff0c;就是平均分布。在容器里面平均分配空间&#xff0c;只是需要设置项目的自动缩放 HTML代码如下 CSS代码如下 因为每个网格都已经设置好了固定的百分比空间&#xff0c;唯一要做的就是给…

[Python]linux自己定义Python脚本命令

在window下写好的程序配置到Linux上&#xff0c;要实现随意文件夹下的命令调用。 因为初学Linux&#xff0c;这里从文件传输等最主要的方法入手&#xff0c;记录配置的过程中遇到的各种问题。 连接远端server 这里使用putty这个工具&#xff0c;用SSH方法连上远端server 传输文…

滑动图片验证以及滑块验证

1、图片验证longbow.slidercaptcha 包下载地址以及示例 https://github.com/Yephy/SliderCaptcha https://gitee.com/JayZhou/SliderCaptcha https://blog.csdn.net/tanqingfu1/article/details/105295158 2、滑块验证slideunlock 包下载地址以及示例 http://www.internetke.co…

javascript学习系列(2):数组中的filter方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说f…

asp.net)js 在当前日期上加一天和系统发布

今天一上班,网站前台的特价酒店页面中 日期显示错误.由于日期是在aspx页面中用js取得的.因此只要将页面的js函数修改一下就行.如下: function gotourl(){ var dayendnew Date(); //在如期dayend上加2天 dayenddayend.setDate(dayend.getDate()2); var enddayend.getFullYear()&…

grep搜索子目录中包含某字符串的特定文件

grep -n "str" -r ./这是查找当前目录下以及下辖子目录下所有包含str字符串的文件,会列出文件名.以及该行的内容.以及行号 ---------------------------------------------------------------------------------------------------------------------------比如&…

写JQuery 插件 什么?你还不会写JQuery 插件

http://www.cnblogs.com/Leo_wl/p/3409083.html 前言   如今做web开发&#xff0c;jquery 几乎是必不可少的&#xff0c;就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了。至于使用jquery好处这里就不再赘述了&#xff0c;用过的都知道。今天我们来讨论下jquery的插件…

stylus之选择器(Selectors)

选择器(Selectors)&#xff1a; 缩排&#xff1a; Stylus的空格有重要的意义&#xff0c;我们使用缩排和凹排代替花括号”{“以及”}” 上面代码就对应于 如果你喜欢&#xff0c;你可以把冒号加上&#xff0c;用做分隔&#xff0c;便于阅读 规则集: Stylus就跟CSS一…

正则仅输入文字字母空格,但必须含有字母

/^(?!\d$)[\s\da-zA-Z]$/ 意为正则仅输入文字字母空格&#xff0c;但必须含有字母 (?!\d$) 正方向上查找“非至少一个数字结尾”处才开始匹配&#xff0c;且返回空。&#xff08;为什么是空&#xff0c;(?!\d$)前什么也没有写&#xff0c;等于即使满足正则的条件也不会得到任…

委托模型和事件模型 [C#]

1. 多播委托与委托有关的语法&#xff1a; 定义委托&#xff1a;<modifiers> delegate <return_type> <delegate_name> (<argument_list>)public delegate void Message() ;创建委托实例&#xff1a;<delegate_type> <name> new <d…

javascript学习系列(3):数组中的foreach方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说f…

根据IP地址查询其所属城市

提供查询接口的网站收藏&#xff1a; 新浪的IP地址查询接口&#xff1a;http://int.dpool.sina.com.cn/iplookup/iplookup.php?formatjs新浪多地域测试方法&#xff1a;http://int.dpool.sina.com.cn/iplookup/iplookup.php?formatjs&ip218.192.3.42搜狐IP地址查询接口&…

stylus之变量(Variables)

变量(Variables)&#xff1a; 变量&#xff1a; 我们可以指定表达式为变量&#xff0c;然后在我们的样式中贯穿使用 编译为 变量甚至可以组成一个表达式列表 标识符&#xff08;变量名&#xff0c;函数等&#xff09;&#xff0c;也可能包括$字符 属性查找&#…

如何建立双机热备系统

如何建立双机热备系统&#xff1c;上一帖 | 下一帖&#xff1e; 笔者是一名医院的网管&#xff0c;而医院的软件系统要求能够做到一周724小时工作&#xff0c;对于整个系统的核心服务器来说如果死机后果是灾难性的。所以采用网络服务器容错技术来保障计算机系统的可靠性是件大事…

你还不会ant design中的拖拽table实现吗

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 微信公众号关注小歌谣 前言 首先刚开始知道要书写一个这样的功能我的内心是比…