原生js总结(干货)
1.js基本数据类型
number string boolean underfined null
2.查找文档中的特定元素
document.getElementById("id");
document.getElementByTagName("div");
document.getElementByClassName("aa"); //有兼容问题
document.getElementByName("username"); //有兼容问题
3.定时器
setTimeout(function(){
执行代码
},time); //time为定时几秒
4.js获取块元素宽高
var oDiv = document.getElementById("id"); //获取元素id
oDiv.offsetWidth //offsetWidth = content + padding + border
oDiv.offsetHeight
oDiv.offsetLeft
oDiv.offsettop
oDiv.offsetParent
5.事件冒泡与事件捕获
事件冒泡:从触发的事件开始,自下而上的触发事件,默认为false // 我 -->爸爸 -->爷爷
事件捕获:从document到触发事件的节点,自上而下的触发事件,第三个参数为true // 爷爷-->爸爸-->我
然后,上代码
HTML:
- <div id="div1">
- <div id="div2" class="div2">
- </div>
- </div>
js:
事件冒泡(结果:div1 div2)
- var oDiv1 = document.getElementById("div1");
- var oDiv2 = document.getElementById("div2");
- oDiv1.addEventListener("click",function (){
- alert("div1被触发");
- });
- oDiv2.addEventListener("click",function (){
- alert("div2被触发");
- });
事件捕获(结果:div2 div1)
- var oDiv1 = document.getElementById("div1");
- var oDiv2 = document.getElementById("div2");
- oDiv1.addEventListener("click",function (){
- alert("div1被触发");
- });
- oDiv2.addEventListener("click",function (){
- alert("div2被触发");
- },true);
ps:阻止事件冒泡的函数:
jq: e.stopPropagation 可以实现到当前被触发元素为止,不再向上冒泡
原生js总结(干货)的更多相关文章
- 原生JS实战:分享一个首页进度加载动画!
本文是苏福的原创文章,转载请注明出处:苏福CNblog:http://www.cnblogs.com/susufufu/p/5871134.html 该程序是本人的个人作品,写的不好,可以参考,但未经 ...
- 【面试篇】寒冬求职季之你必须要懂的原生JS(中)
互联网寒冬之际,各大公司都缩减了HC,甚至是采取了“裁员”措施,在这样的大环境之下,想要获得一份更好的工作,必然需要付出更多的努力. 一年前,也许你搞清楚闭包,this,原型链,就能获得认可.但是现在 ...
- 原生JS封装Ajax插件(同域&&jsonp跨域)
抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢? 最近都在做原生JS熟悉的练习... 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉还是可行的...简单说说思路,如有不正 ...
- 常用原生JS方法总结(兼容性写法)
经常会用到原生JS来写前端...但是原生JS的一些方法在适应各个浏览器的时候写法有的也不怎么一样的... 今天下班有点累... 就来总结一下简单的东西吧…… 备注:一下的方法都是包裹在一个EventU ...
- 原生JS实现"旋转木马"效果的图片轮播插件
一.写在最前面 最近都忙一些杂七杂八的事情,复习软考.研读经典...好像都好久没写过博客了... 我自己写过三个图片轮播,一个是简单的原生JS实现的,没有什么动画效果的,一个是结合JQuery实现的, ...
- 再谈React.js实现原生js拖拽效果
前几天写的那个拖拽,自己留下的疑问...这次在热心博友的提示下又修正了一些小小的bug,也加了拖拽的边缘检测部分...就再聊聊拖拽吧 一.不要直接操作dom元素 react中使用了虚拟dom的概念,目 ...
- React.js实现原生js拖拽效果及思考
一.起因&思路 不知不觉,已经好几天没写博客了...近来除了研究React,还做了公司官网... 一直想写一个原生js拖拽效果,又加上近来学react学得比较嗨.所以就用react来实现这个拖 ...
- 原生JS实现全屏切换以及导航栏滑动隐藏及显示——重构前
思路分析: 向后滚动鼠标滚轮,页面向下全屏切换:向前滚动滚轮,页面向上全屏切换.切换过程为动画效果. 第一屏时,导航栏固定在页面顶部,切换到第二屏时,导航条向左滑动隐藏.切换回第一屏时,导航栏向右滑动 ...
- 原生js实现autocomplete插件
在实际的项目中,能用别人写好的插件实现相关功能是最好不过,为了节约时间成本,因为有的项目比较紧急,没充分时间让你自己来写,即便写了,你还要花大量时间调试兼容性.但是出于学习的目的,你可以利用闲暇时间, ...
随机推荐
- PHP怎么获取系统信息和服务器详细信息
https://zhidao.baidu.com/question/1435990326608475859.html 获取系统类型及版本号: php_uname() (例:Windows NT COM ...
- 一句话 Servlet
Servlet是用来完成B/S架构下,客户端请求的响应处理. web.xml其实就是servlet的一个配置文件,通过他来寻找对应的servlet
- Android-第二天(2)
程序3 SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局,而且使用很方便 SimpleAdapter(Context context, List<? extends Ma ...
- Java反射(Reflection)
基本概念 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? 答案是肯定的. 这种动态获取类的信息以及动态调用对象的方法的功能来自于J ...
- 关于jwplayer 处理进度条禁止快进的处理方法。
今天在处理一个关于jwplayer 第一次播放禁止快进,但是可以后退的一个需求.开始在网上去查一些方法,有几个方法是换皮肤,禁止点击,但是和我的初衷不是很一致,还有一种方式是官网查看了API接口的方 ...
- python3 第四章 - 输入与输出
1.输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字. print('hello, world') 输入以上代码,执行后输出: hello, world 事实上,任何基本类型都可 ...
- python_斐波那契数列
什么是斐波那契数列? -- 一组第从第三个值开始,每个值都等于前两个值之和的一种有意思的数列 如[1, 1, 2, 3, 5, 8, 13, 21, 34, 55] 如何用程序进行实现? -- 逻辑整 ...
- Servlet--ServletException类,UnavailableException类
ServletException类 定义 public class ServletException extends Exception 当 Servlet 遇到问题时抛出的一个异常. 构造函数 pu ...
- JAVA中实现让程序等待一段时间的方法
JAVA中想让代码等待一段时间再继续执行,可以通过让当前线程睡眠一段时间的方式. 方法一:通过线程的sleep方法. Thread.currentThread().sleep(1000); 在需要程序 ...
- jenkins构建自由风格项目[四]
标签(linux): jenkins 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 构建一个php项目 创建一个新的项目 选择从git获取源码 配置gitlab ...