js/jquery(2)

#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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值