#21.window.print() 打印
#22.手机站输入框每次输入字符和删除字符时都判断的,就用input事件,keyup只是在输入时管用,删除字符时不管用,keypress和keydown则无论输入和删除完全不管用。
#23.js设置cookie时,发现另一个页面无法读取到。只需在设置cookie时加上 path=/ 就可以了。
#24.jquery.pin.js 将.pinned(被钉在窗口中始终显示)的元素限定在.container元素中显示.
$(".pinned").pin({containerSelector: ".container"})
#25.导航栏在static和fixed之间转换,并且滚动页面,内容区块对应的导航栏高亮显示
function high_li(ee){
var e = document.getElementById(ee);
y = e.offsetTop;
while(e=e.offsetParent){ y += e.offsetTop;}
nowtop = $(this).scrollTop();
if(y > navtop && nowtop < navtop){
y -= 200;
}else{
y -= 80;
}
window.scrollTo(0,y);
$('.af_nav li').removeClass('active');
$('#li_'+ee).addClass('active');
}
var nowtop,inittop = 0;
var navtop = $('.af_nav').offset().top;
var backtopleft = $('#af_backtop').offset().left;
$(window).scroll(function(){
nowtop = $(this).scrollTop();
if(nowtop > navtop && inittop < navtop){
$('.af_nav,#af_backtop').css({'position':'fixed','top':0,'z-index':'99','margin-top':0});
$('#af_backtop').css('left',backtopleft);
}else if(nowtop < navtop && inittop > navtop){
$('.af_nav,#af_backtop').css({'position':'static','margin-top':'20px'});
}
inittop = nowtop;
var $floor=$("section div[id^=cat]");
var $nav=$(".af_nav ul li");
var floorId="";
var scrollTop= nowtop;
$floor.each(function(index,Ele){
var offsetTop = $(Ele).offset().top - 120;
if(scrollTop>=offsetTop){
floorId= $(this).attr("id");
}else{
return false;
}
});
$nav.filter("[id=li_"+floorId+"]").addClass("active").siblings().removeClass("active");
//||scrollTop>$floor.last().offset().top+$floor.last().height()
/*if(scrollTop<$floor.first().offset().top - 800){
$nav.removeClass("active");
}*/
});
#26.科学计数法转普通数
Number.prototype.noExponents= function(){
var data= String(this).split(/[eE]/);
if(data.length== 1) return data[0];
var z= '', sign= this<0? '-':'',
str= data[0].replace('.', ''),
mag= Number(data[1])+ 1;
if(mag<0){
z= sign + '0.';
while(mag++) z += '0';
return z + str.replace(/^\-/,'');
}
mag -= str.length;
while(mag--) z += '0';
return str + z;
}
var n=1.7E-9;
alert(n.noExponents());
27.jquery的event.pageX是鼠标相对于文档的左边缘的位置;event.pageY是鼠标相对于文档的顶部边缘的位置。都考虑了滚动条的情形,特别适合做鼠标右键打开菜单的定位。
#xxx {
position:absolute;
top:event.pageY;
left:event.pageX;
}
vue的element组件使用中,使一些父级标签有position:relative;的样式,造成右键菜单位置定位错误。可以这样处理
var p = $('.el-row').offset();//父级(position:relative)元素
$("#menu").css({
position: absolute,
top: event.pageY - p.top,
left: event.pageX - p.left,
});
$("#menu").show();
28.jquery写的form
var form = $("<form method='post'></form>"),
input;
form.attr({"action":res.url});
input = $("<input type='hidden'>");
input.attr({"name":"xxx"});
input.val(res.xxx);
form.append(input);
form.submit();
执行报错 Form submission canceled because the form is not connected
解决方式:在submit前添加 $(document.body).append(form);
感谢 Jquery组织Form表单提交之Form submission canceled because the form is not connected - Jichan·Jong - 博客园
29.jquery添加带有!important的样式 $('.v-modal').css('cssText', 'width: 100% !important');
30.数组合并 a.push.apply(a,[4,5,6]);
数组单列组成新数组 arr.map(x => {return x.imgUrl})
31.ES6介绍 ES6 入门教程
32.上传文件添加loading时,一定要把ajax提交设成异步。
33.父页触发点击iframe子页按钮触发子页方法
document.getElementById('myiframe').contentWindow.document.getElementById('sendCtrlAltDelButton').click();
34.js操作css类
Element.classList - Web API 接口参考 | MDN
35.js date对象转YYYY-MM-DD HH:mm:ss格式
Format a Date as YYYY-MM-DD hh:mm:ss in JavaScript | bobbyhadz