前端常用代码块
在有空的时候整理一下常用的代码,帮助日常开发,提高开发效率。代码片段如下所示:
1、判断是否是移动端
var isApp = function() { if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { return true; } else { return false; } }
2、鼠标移入移出效果
window.addEventListener('load', function() {
var box = document.querySelector('.box');
box.addEventListener('mouseover', function() {
box.classList.add('cur');
});
box.addEventListener('mouseleave', function() {
box.classList.remove('cur');
});
});
3、input获得失去焦点
window.addEventListener('load', function() {
var inp = document.querySelector('input');
if(inp.value === '手机号'){
inp.style.color = '#888';
}else{
inp.style.color = '#333';
}
inp.focus = function(){
if(this.value === '手机号'){
this.value = '';
this.type = 'password';
this.style.color='#333';
}else{
this.style.color = '#333';
}
}
inp.blur = function(){
if(this.value == ''){
this.value = '手机号';
this.style.color = '#888';
this.type = 'text';
}
}
});
4、验证码倒计时
var time = 60; timer = null; var sendBtn = document.getElementById('send_btn'); sendBtn.addEventListener('click', function() { timer = setInterval(function() { time--; if (time <= 0) { sendBtn.innerHTML = '发送验证码'; clearInterval(timer); sendBtn.setAttribute('disabled', false); time = 60; } else { sendBtn.innerHTML = time + '秒后重试'; sendBtn.setAttribute('disabled', true); } }, 1000) });
5、计算当前日期
function caculateDate() { var d = new Date(); var weeks = ['日', '一', '二', '三', '四', '五', '六']; var yy = d.getFullYear(); var mm = d.getMonth() + 1; var dd = d.getDate(); var week = weeks[d.getDay()]; return yy + '年' + mm + '月' + dd + '日 星期' + week; }
6、清除浮动
.clearfix: after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
.clearfix {
*zoom: 1;
}
7、移动端遮罩层隐藏及显示效果
.cover{ position: fixed; top: 0; left: 0; bottom: 0; right: 0; z-index: 999; width: 100%; height: 100%; background: rgba(0,0,0,0.6); -webkit-transform: translate3d(0,200%,0); -moz-transform: translate3d(0,200%,0); -ms-transform: translate3d(0,200%,0); -o-transform: translate3d(0,200%,0); transform: translate3d(0,200%,0); -webkit-transition: all .25s ease; -moz-transition: all .25s ease; -ms-transition: all .25s ease; -o-transition: all .25s ease; transition: all .25s ease; } .cover.moved{ -webkit-transform: translate3d(0,0,0); -moz-transform: translate3d(0,0,0); -ms-transform: translate3d(0,0,0,0); -o-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
8、移动端弹层滚动卡顿解决方案
-webkit-overflow-scrolling: touch;overflow-scrolling: touch;
9、优雅地回到目标区域
$('html,body').animate({'scrollTop': $(obj).position().top},500);
10、360浏览器对js\jq不兼容的解决方案
1)用极速核:
<meta name="renderer" content="webkit">
2)用ie兼容内核:
<meta name="renderer" content="ie-comp">
3)用ie标准内核:
<meta name="renderer" content="ie-stand">
4)jquery 2.x版本不支持ie6,7,8. 所以对应ie浏览器中是不能使用jquery 2.x的。
搜狗、360等国内浏览器的兼容模式采用较低版本的ie内核,所有这些浏览器在兼容模式下不兼容jquery 2.x,项目可以采用最新版的jq或者2.x以上。
不问收获 恒问耕耘 天道酬勤

浙公网安备 33010602011771号