在页面中使用

可以调取html模板

/**
* Created by DY040 on 2017/10/31.
*/ var hxq = {
init: function () {
var self = this;
// self.router.init();
// self.rem(); rem适配 },
router: {
init: function () {
var self = this;
self.getNode();
// console.log(self.getNode) },
getTemplate: function (url, node) {
console.log(url)
var xhr;
if (window.XMLHttpRequest) {
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xhr = new XMLHttpRequest();
}
else {
// IE6, IE5 浏览器执行代码
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
node.outerHTML = xhr.responseText
}
}
xhr.open("POST", url, false);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(); },
getNode: function () { var nodes = document.querySelectorAll('[h-src]');
console.log(nodes)
nodes.forEach(function (v, k, ele) {
var url = v.getAttribute('h-src') this.getTemplate(url, v)
}.bind(this))
}
},
rem: function () {
document.head.innerHTML = '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1">' + document.head.innerHTML var width = document.documentElement.clientWidth / 10;
document.documentElement.style.fontSize = width + 'px';
},
EventUtil: {
/*
* EventUtil.addHandler(document.querySelector('button'),'click',fn)
* */
/*添加事件*/
addHandler: function (ele, type, handler) {
if (ele.addEventListener) {
ele.addEventListener(type, handler, false);
} else if (ele.attachEvent) {
ele.attachEvent('on' + type, handler);
} else {
ele['on' + type] = handler;
}
},
/*移除事件*/
removeHandler: function (ele, type, handler = false) {
if (ele.removeEventListener) {
ele.removeEventListener(type, handler, false);
} else if (ele.detachEvent) {
ele.detachEvent('on' + type, handler);
} else {
ele['on' + type] = null;
}
},
getEvent: function () {
/*获取事件对象*/
return event ? event : window.event;
},
getTarget: function (event) {
/*获取事件触发者*/
return event.target || event.srcElement;
},
/*取消默认行为*/
preventDefault: function (event) {
if (event.preventDefault) {
event.preventDefault()
} else {
event.returnValue = false;
}
},
/*阻止冒泡*/
stopPropagation: function (event) {
/*阻止默认行为*/
if (event.stopPropagation) {
event.stopPropagation()
} else {
event.cancelBubble();
}
},
/*获取页面距离左上距离*/
getPageX: function (event) {
if (event.pageX) {
return event.pageX;
} else {
return event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft);
}
},
getPageY: function (event) {
if (event.pageY) {
return event.pageY;
} else {
return event.clientY + (document.body.scrollTop || document.documentElement.scrollTop);
}
}
}, DOM: {
//获取视口高度
clientHeight: function () {
if (typeof window.innerHeight !== 'undefined') {
return window.innerHeight;
} else if (document.documentElement) {
return document.documentElement.clientHeight;
} else {
return document.body.clientHeight;
}
},
/*获取视口宽度*/
clientWidth: function () {
if (typeof window.innerWidth !== 'undefined') {
return window.innerWidth;
} else if (document.documentElement) {
return document.documentElement.clientWidth;
} else {
return document.body.clientWidth;
} }
} }; hxq.init();

nbnbnb

hxq的库的更多相关文章

  1. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  2. TinyWeb v1.0 正式完成第一个Release版本(功能基于 libuv 跨平台库)

    使用方法很简单,很容易融入现有项目,使现有项目拥有Web网站功能和WebSocket,以及Socket直连! 并且包含了一个跨平台(windows/linux)工具集合; 嗯,也挺棒的^,^ 在项目中 ...

  3. 在 Laravel 中使用图片处理库 Integration/Image

    系统需求 PHP >= 5.3 Fileinfo Extension GD Library (>=2.0) … or … Imagick PHP extension (>=6.5.7 ...

  4. [APUE]标准IO库(下)

    一.标准IO的效率 对比以下四个程序的用户CPU.系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: [注:该表截取自APUE,上表中 ...

  5. [APUE]标准IO库(上)

    一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...

  6. Python标准库--typing

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 模块简介 Python 3.5 增加了一个有意思的库--typ ...

  7. Windows 常用运行库下载 (DirectX、VC++、.Net Framework等)

    经常听到有朋友抱怨他的电脑运行软件或者游戏时提示缺少什么 d3dx9_xx.dll 或 msvcp71.dll.msvcr71.dll又或者是 .Net Framework 初始化之类的错误而无法正常 ...

  8. vs2010静态链接MFC库报链接错误

    由于需要将MFC程序在其它电脑上运行,所以需要将动态链接的MFC改成静态链接,本以为很简单,没想到链接的时候出现下面的链接错误: uafxcw.lib(afxmem.obj) : error LNK2 ...

  9. Android 5.0 到 Android 6.0 + 的深坑之一 之 .so 动态库的适配

    (原创:http://www.cnblogs.com/linguanh) 目录: 前序 一,问题描述 二,为何会如此"无情"? 三,目前存在该问题的知名SDK 四,解决方案,1 对 ...

随机推荐

  1. 基于IFC标准的4DBIM可视化平台

  2. ROS Learning-002 beginner_Tutorials 如何添加ROS环境变量 和 如何更新ROS源代码

    ROS Indigo beginner_Tutorials 之 添加环境变量 和 更新ROS源代码的命令 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubu ...

  3. dpdk中uio技术

    总结一下dpdk的uio技术 一:什么是uio技术 UIO(Userspace I/O)是运行在用户空间的I/O技术,Linux系统中一般的驱动设备都是运行在内核空间,而在用户空间用应用程序调用即可, ...

  4. ARC102D All Your Paths are Different Lengths

    传送门 题目大意 让你构造一个有向图,使得从1到n有L条不同路径且长度分别是0~L-1. 分析 我们不难想到每一对相邻点之间连一条权值为0的边,之后二进制分解,将每一对点之间连一个权值为2^i的边,但 ...

  5. ZROI2018提高day3t1

    传送门 分析 我们可以用贪心的思想.对于所有并没有指明关系的数一定是将小的放在前面.于是我们按顺序在每一个已经指明大小顺序的数前面插入所有比它小且没有指明关系的数.详见代码. 代码 #include& ...

  6. 把Spark SQL的metadata存储到mysql

    1:安装配置mysql yum install mysql mysql-server service mysqld start mysqladmin -u root  password newpass ...

  7. POJ 1795 DNA Laboratory (贪心+状压DP)

    题意:给定 n 个 字符串,让你构造出一个最短,字典序最小的字符串,包括这 n 个字符串. 析:首先使用状压DP,是很容易看出来的,dp[s][i] 表示已经满足 s 集合的字符串以 第 i 个字符串 ...

  8. .net 索引器

    索引器允许类或结构的实例就像数组一样进行索引. 索引器类似于属性,不同之处在于它们的访问器采用参数. 在下面的示例中,定义了一个泛型类,并为其提供了简单的 get 和 set 访问器方法(作为分配和检 ...

  9. Winform 数据库连接配置界面

    一.添加引用       C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Microsoft.Data.ConnectionUI.Dial ...

  10. Vim编辑器的学习

    在老师的带领下,最近也算是涨了见识.自己安装并尝试着体验了Vim的一些基本功能,可能是作为初学者,总感觉其指令太过复杂,就文本编辑而言,给我的最大感受就是神而乎之,一头雾水.目前我对这款编译器的掌握水 ...