盘点JavaScript中那些进阶操作知识(下篇)

Python进阶者
• 阅读 1177

相信做网站对 JavaScript 再熟悉不过了,它是一门脚本语言,不同于 Python 的是,它是一门浏览器脚本语言,而 Python 则是服务器脚本语言,我们不光要会 Python,还要会 JavaScript,因为它对做网页方面是有很大作用的。

大家好,我是 IT 共享者,人称皮皮。上篇文章给大家分享了盘点 JavaScript 中那些进阶操作知识(上篇),这篇文章继续来看看趴!

前言

相信做网站对 JavaScript 再熟悉不过了,它是一门脚本语言,不同于 Python 的是,它是一门浏览器脚本语言,而 Python 则是服务器脚本语言,我们不光要会 Python,还要会 JavaScript,因为它对做网页方面是有很大作用的。

1.Javascript 刷新页面

history.go(0) 
location.reload() 
location=location 
location.assign(location) 
document.execCommand('Refresh') 
window.navigate(location) 
location.replace(location) 
document.URL=location.href

2.Js 浏览器兼容问题 1).浏览器事件监听

function addEventhandler(target,type,fn,cap){
            if(target.addEventListener)               /*添加监听事件*/
              {       
                target.addEventListener(type,fn,cap)
                }
            else{
                 target.attachEvent('on'+type,fn)  /*IE 添加监听事件*/
               }
          }
       function removeEventhandler(target,type,fn,cap){
            if(target.removeEventListener)            /*删除监听事件*/
             {
                target.removeEventListener(type,fn,cap)
                }
            else{
                 target.detachEvent('on'+type,fn)    /*IE 删除监听事件*/
               }
          }

2).鼠标键判断

function bu(event)
{
var bt= window.button || event.button;
if (bt==2)
  {
  x=event.clientX
  y=event.clientY   
  alert("您点击了鼠标右键!坐标为:"+x+','+y)
  }
else if(bt==0)
  {
    a=event.screenX
    b=event.screenY
  alert("您点击了鼠标左键!坐标为:"+a+','+b)
  }
else if(bt==1)
  {
  alert("您点击了鼠标中键!");
  }
}

3).判断是否按下某键

function k(event)
{
var ke=event.keyCode || event.which
if(event.shiftKey==1)
  {
  alert('您点击了 shift');
  }
 alert(ke)alert(event.type)
}

4).网页内容节点兼容性 1)).网页可视区域宽高

var w=document.body.offsetWidth|| document.documentElement.clientWidth|| document.body.clientWidth;
var h=document.body.offsetHeight|| document.documentElement.clientHeight || document.body.clientHeight;

2)).窗体宽度高度 比可视区域要大

window.innerHeight - 浏览器窗口的内高度(以像素计) 
window.innerWidth - 浏览器窗口的内宽度(以像素计)

3)).页面滚动条距离顶部的距离

var t=document.documentElement.scrollTop || document.body.scrollTop

4)).页面滚动条距离左边的距离

var s=document.documentElement.scrollLeft || document.body.scrollLeft

5)).元素到浏览器边缘的距离

  function off(o){   #元素内容距离浏览器边框的距离(含边框)var l=0,r=0;
        while(o){
            l+=o.offsetLeft+o.clientLeft;
            r+=o.offsetTop+o.clientTop;
            o=o.offsetParent;
        }
        return {left:l,top:r};
    }

6)).获取滚动条高度

// 滚动条的高度
function getScrollTop() {
var scrollTop = 0;
if (document.documentElement && document.documentElement.scrollTop) {
        scrollTop = document.documentElement.scrollTop;
    }
else if (document.body) {
        scrollTop = document.body.scrollTop;
    }
return scrollTop;
}

7)).DOM 节点操作

function next(o){//获取下一个兄弟节点 if (o.nextElementSibling) {
            return o.nextElementSibling;
        } else{
            return o.nextSibling;
        };
    }
    function pre(o){//获取上一个兄弟节点 if (o.previousElementSibling) {
            return o.previousElementSibling;
        } else{
            return o.previousSibling;
        };
    }
    function first(o){//获取第一个子节点 if (o.firstElementChild) {
            return o.firstElementChild;//非 IE678 支持
        } else{
            return o.firstChild;//IE678 支持
        };
    }
    function last(o){//获取最后一个子节点 if (o.lastElementChild) {
            return o.lastElementChild;//非 IE678 支持
        } else{
            return o.lastChild;//IE678 支持
        };
    }

8)).窗口的宽高

document.body.scrollWidth||document.docuemntElement.scrollWidth;//整个网页的宽
document.body.scrollHeight||document.docuemntElement.scrollHeight;//整个网页的高

9)).屏幕分辨率的宽高

window.screen.height;//屏幕分辨率的高
window.screen.width;//屏幕分辨率的宽

10)).坐标

window.screenLeft;//x 坐标
window.screenX;//X 坐标
window.screenTop;//y 坐标
window.screenY;//y 坐标

11)).屏幕可用工作区宽高

window.screen.availHeight 
window.screen.availWidth

5).事件源获取

e.target || e.srcElement

6).行外样式

funtion getStyle(obj,name){
   if(obj.currentStyle){
      //IE
    return obj.currentStyle[name];
    }else{
    //Chrom,FF
   return getComputedStyle(obj,false)[name];
      }
 }

7).阻止事件冒泡函数封装

function pre(event){

           var e = event || window.event;

           if(e.stopPropagation){   // 通用方式阻止冒泡行为

               e.stopPropagation();

           }else{    //IE 浏览器

               event.cancelBubble = true;

           }

8).阻止浏览器默认行为(例如点击右键出来菜单栏)

function stop(event) {

     var e = event || window.event;

     if (e.preventDefault){

         e.preventDefault();   // 标准浏览器

     }else{

         e.returnValue = false; // IE 浏览器

     }

}

3.严格模式

"use strict"

4.判断变量类型

typeof  variable
instance  instanceof  object
instance.constructor== object
Object.prototype.toString.call(instance)

5.下载服务器端文件

<a href="http://somehost/somefile.zip" download="myfile.zip">Download file</a>

总结

这篇文章主要介绍了 JavaScript 的进阶操作命令!希望对大家的学习有所帮助。

人生苦短,我用Python!

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Python进阶者 Python进阶者
2年前
盘点JavaScript中5个常用的对象
大家好,我是IT共享者,人称皮皮。前言相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。JavaScript对象在JavaScript中有许多有用的对象,它们可以用来实现很
Python进阶者 Python进阶者
2年前
一文解读JavaScript中的文档对象(DOM)
大家好,我是IT共享者,人称皮皮。前言相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。1.文档对象(DOM)1).Document对象这是我们用的最普遍的一个文档对象了
Python进阶者 Python进阶者
2年前
盘点JavaScript中那些进阶操作知识(上篇)
前言相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。1.进阶操作这里列举了一些小编以前经常用到的一些例子以及一些经验,由于篇幅受限,这里我将会把部分执行结果的输出直接输入
Python进阶者 Python进阶者
2年前
一文带你解读​JavaScript的引用类型和函数对象
前言相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。1.引用类型相当于Java中的类创建实例过程,比如我要创建个对象,可以这样做:varobnewObject();
Python进阶者 Python进阶者
2年前
一文带你解读​JavaScript的基本用法
前言相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。JavaScript的基本用法1.如何使用Js脚本1).引入Js文件在头部标签中导入脚本标签并指明脚本文件路径2).
Python进阶者 Python进阶者
2年前
一文解读JavaScript中的事件知识
前言相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。1.事件1).鼠标事件onclick鼠标单击ondblclick双击鼠标onmousedown鼠标
Python进阶者 Python进阶者
2年前
一文解读JavaScript事件对象和表单对象
前言相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。1.事件对象(Event)1).事件对象常量bubbles事件是否是起泡事件类型cancelabl
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这