offsetLeft offsetTop offsetWidth offsetHeight offsetLeft:元素的边框的外边缘距离与已定位的父容器(offsetparent)的左边距离(不包括元素的边框和父容器的边框). offsetTop:同理是指元素的边框的外边缘距离与已定位的父容器(offsetparent)的上边距离(不包括元素的边框和父容器的边框). offsetWidth:描述元素外尺寸宽度,是指元素内容宽度+内边距宽度(左右两个)+边框(左右两个),不包括外边距和滚动条部分.…
offsetLeft:元素的边框的外边缘距离与已定位的父容器(offsetparent)的左边距离(不包括元素的边框和父容器的边框).position().left:使用position().left方法时事实上是把该元素当绝对定位来处理,获取的是该元素相当于最近的一个拥有绝对或者相对定位的父元素的偏移位置. 附上调试代码: <style> *{margin:0;padding:0;} #parent{ position: relative; padding: 10px; margin:30p…
offsetLeft:元素的边框的外边缘距离与已定位的父容器(offsetparent)的左边距离(不包括元素的边框和父容器的边框). offset().left:返回的是相对于当前文档的坐标,使用offset()方法不管该元素如何定位,也不管其父元素如何定位,都是获取的该元素相对于当前窗口的偏移坐标 附上调试代码: <style> *{margin:0;padding:0;} #parent{ position: relative; padding: 10px; margin:30px; b…
offset()返回的是相对于当前文档的坐标,position()返回的是相对于其定位的祖辈元素的坐标. 使用position()方法时事实上是把该元素当绝对定位来处理,获取的是该元素相当于最近的一个拥有绝对或者相对定位的父元素的偏移位置. 使用position()方法时如果其所有的父元素都为默认定位(static)方式,则其处理方式和offset()一样,是当前窗口的相对偏移,此时如果子元素没有margin,则两者值相同,如果有margin,两者的差值就是子元素的margin值. 使用offs…
最近在学习JavaScript,特意买了一本犀牛角书来看看,尼玛一千多页,看的我头昏脑涨,翻到DOM这章节,突然记起平常在使用DOM时,碰到了好多的这个dom里面的各种宽度,高度,特意在此写一写,写的不好或者写错了,欢迎各位指正.好了废话不多说,开始进入主题. 这篇文章主要讨论两点: 一.DOM中各种宽度.高度 二.DOM中的坐标系 下面我们看看DOM中都有一些什么宽度.高度. 常见的 offsetWidth clientWidth scrollWidth offsetHeight client…
四种常见的 POST 提交数据方式 HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范.规范把 HTTP 请求分为三个部分:状态行.请求头.消息主体.协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式.实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以. 但是,数据发送出去,还要服务端解析成功才有意义.一般服务端语言如 php.python 等,以及它们…
js中常见的问题 原文链接 1.js获取select标签选中的值 原生js var obj = document.getElementByIdx_x(”testSelect”); //定位id var index = obj.selectedIndex; // 选中索引 var text = obj.options[index].text; // 选中文本 var value = obj.options[index].value; // 选中值 jQuery 第一种方式 $(‘#testSele…
js中常见的错误,例如Uncaught TypeError: x is not a function 其原因除了函数本身有错之外,还有一种很奇怪的情况:函数本身没有错,但是运行时就是不能正常运行.这种情况与javascript的特性有关:变量与函数声明前置的优先级. 总结: js有声明前置,函数和变量的声明都会前置,即会在整个js代码的最开始,不管声明部分在什么位置. js中函数的声明优先于同名变量的声明,不管先后顺序如何. 函数的声明会在整段js代码的最前面,不管function() 函数在j…
github: https://github.com/14glwu/FEInterviewBox/tree/master/JS%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F JavaScript 中常见设计模式 单例模式 策略模式 代理模式 迭代器模式 发布订阅模式 命令模式 组合模式 模板方法模式 享元模式 职责链模式 中介者模式 装饰者模式 状态模式 适配器模式 各设计模式关键词 看完了上述设计模式后,把它们的关键词特点罗列出来,以后提到某种设计模式,进而联想相应的…
RT: js从数组中删除指定值的元素,注意是指定值,而不是指定位置. 比如数组{1,2,3,4,5},我要删除其中的元素3,但是这个3的位置我是不知道的,只知道要删除值为3的这一个元素,请问要怎么写? 如果你没有使用第三方框架,有类似的扩展功能可以根据指定值,返回元素的下标的话,只能自己先查找,然后再删除. <script type="text/javascript"> Array.prototype.indexOf = function(val) { for (var i…
JS中常见算法问题 1. 阐述JS中的变量提升(声明提前) 答:将所有的变量提升当当前作用域的顶部,赋值留在原地.意味着我们可以在某个变量声明前就使用该变量. 虽然JS会进行变量提升,但并不会执行真正的初始化过程. 按值传递:两变量间赋值,或向函数中传递参数时,都是将原变量中的值复制一个副本给对方,修改一方,另一方不受影响. 引用类型的对象之间相互赋值时,只是将地址赋值给了对方,因此改变原对象中的内容,由于地址并未发生改变,因此也会引发新变量内容的改变. 2.阐述use strict;的作用 答…
1.SyntaxError(语法错误) 解析代码时发生的语法错误 var 1a; //Uncaught SyntaxError: Invalid or unexpected token 变量名错误 console.log 'hello'); //Uncaught SyntaxError: Unexpected string 缺少括号 2.ReferenceError(引用错误) console.log(a); //Uncaught ReferenceError: a is not defined…
找到你的位置(JS在页面中的位置) 我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分. 放在<head>部分 最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分. 放在<body>部分 JavaScript代码在网页读取到该语句的时候就会执行. 注意: javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释ht…
一.lastIndexOf()方法 1.作用: 方法可返回 一个指定的字符串值 在字符串中最后出现的位置.从左往右查. 2.返回: 一个正整数.或者 -1. 3.语法: stringObject.lastIndexOf(searchvalue,fromindex) 二.indexOf() 方法 1.作用: 方法可返回 一个指定的字符串值 在字符串中首次出现的位置.从左往右查. 2.返回: 一个正整数.或者 -1. 3.语法: stringObject.indexOf(searchvalue,fr…
一半是参照别人代码,一半是自己代码,略笨拙,如果有更好的方法希望分享. 获取当前光标位置的方法 getCaretPosition (obj:any) { //获取输入框中当前光标的位置,obj为此输入框 let $scope = this.$scope; let $log = this.$log; $scope.caretPosition = 0; if (document.selection) { obj.focus(); var oSel = document.selection.creat…
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <script> //据说这就是组合模式了,就是逸带的感觉; var $ = jQuery = window.$ = function(){}; $.prototype = { addClass : function(value){ var classNames, i ,l , elem,…
解决办法: jq中存在方法:noConflict() 可返回对 jQuery 的引用. 使用示例: var jq = $.noConflict(); jq(document).ready(function(){ jq("button").click(function(){ jq("p").text("jQuery 仍然在工作!"); }); }); 如果不使用则可以通过函数noConflict释放: $.noConflict(); jQuery(…
创建实例对象 var dt = new Date(); //当前的时间---当前的服务器 console.log(dt); var dt = new Date("2017-08-12");//传入时间写法1 //传入的时间 console.log(dt); 传入时间也可以这样写: var dt = new Date("2017/08/12"); //传入时间写法2 //传入的时间 console.log(dt); //获取时间的对象 var dt = Date.no…
提取指定数目的字符substr() substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串. 语法: stringObject.substr(startPos,length) 参数说明: 注意:如果参数startPos是负数,从字符串的尾部开始算起的位置.也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推. 如果startPos为负数且绝对值大于字符串长度,startPos为0. 使用 substr() 从字符串中提取一些字符,代码如下: <sc…
返回指定的字符串首次出现的位置 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 语法 stringObject.indexOf(substring, startpos) 参数说明: 说明: 1.该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 substring. 2.可选参数,从stringObject的startpos位置开始查找substring,如果没有此参数将从stringObject的开始位置查找. 3.如果找到一个 substri…
目录 一.学习D3我必须要学习好SVG矢量图码? 二.如何理解D3给Dom节点绑定数据时的Update.Enter和Exit模式 三.D3绑定数据时用datum与data有什么不一样? 四.SVG图中用attr来设置属性和用style来设置样式时,用style来设置样式的权重会更高 五.D3使用链式写法时,写完transition动画后不能链着继续写append添加元素操作 六.如何给path设置缓动? 七.D3普通的缓动动画 八.给节点添加title,鼠标mouseover显示普通提示文本效果…
JS.JQ相关小技巧积攒,以备不时之需. 1.js 获取时间差:时间戳相减.new Date().getTime()  获得毫秒数,除以(1000*60*60*24) 获得天数. 2.重定向操作:页面重定向:window.location.href="http://..."即可(本页页面跳转). 3.js立即执行函数,window.onload = function, $(document).ready({})区别 以及 执行时机 以及 先后顺序. 4.前台form表单的提交方式有很多…
js插件---videojs中文文档详解 一.总结 一句话总结: js插件网上都有很多参考资料,使用起来也非常简单 二.lavarel中使用实例 <video id="example_video_1" class="video-js" controls preload="none" width="640px" height="264px" poster="http://vjs.zencdn.…
刚学JQ不久,有时候可能会把JS和JQ获取元素的方式搞错,接下来获取属性方法什么的就一发不可收拾了,现在把两者获取获取元素的代码整理下. 一.原生JS获取元素. 1.常用的三种方式获取元素对象(将指定的元素封装成DOM对象): (1)通过元素ID获取:document.getElementById(),示例如下: 我们在控制台输出,结果如下: 可以看到我们获取到了id为div1的元素代码了 (2)通过元素标签名获取:document.getElementsByTagName(),它以数组的形式返…
JQ.JS相关小知识 任意元素自动点击 $(".editicon").trigger('click') 添加子元素 append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元素之前插入内容 删除.清空子元素 $(".p").empty(); //不会删除自己 //删除内部所有子节点 $(".p").remove(); //会删除自己…
Fouandation 中常见的理解错误区 1.NSString //快速创建(实例和类方法) 存放的地址是 常量区 NSString * string1 = [NSString alloc]initWithString:@“123”]; NSString * string3 = [NSString stringWithString:@“123”]; //格式化方法创建   存放地址是堆区 NSString * string2 = [NSString alloc]initWithFormat:@…
对C/C++程序员来说,管理和使用虚拟存储器可能是个困难的, 容易出错的任务.与存储器有关的错误属于那些令人惊恐的错误, 因为它们在时间和空间上, 经常是在距错误源一段距离之后才表现出来. 将错误的数据写到错误的位置, 你的程序可能在最终失败之前运行了好几个小时,且使程序中止的位置距离错误的位置已经很远啦.而避免这种噩梦的最好方法就是防范于未然. 幸好<深入理解计算机系统>中有一段讲: C程序中常见的内存操作有关的10种典型编程错误,十分经典, 因此抄写在此, 以便以后随时查看,复习. 把优秀…
js中数组可以这样使用: <ul id="ul"> <li value="1">s</li> <li>f</li> <li>g</li> <li>w</li></ul><script> var a = $("#ul li"); alert(a[0].value);</script> 而在jq中用a[0].…
JavaScript中常见的数组操作函数及用法 昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下,这样方便大家准备参考.如果恰好你也在准备各种笔试,希望对你有所帮助.同时,也欢迎补充. 1.数组创建 创建数组应该是最简单的了,有用数组字面量创建和数组构造函数两种方法,见下: var array1 = new Array(); var array2 = []; 上面是创建数组的最常见的两种方法,…
JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信你也跟我一样,发现字符串的处理是前端招聘过程中最常见的题型之一.这些题有一个特点,站在考官的角度去考虑,它考的不是你会不会,而是你能不能在不借用XX手册或者XX指南再或者百度谷歌的情况下,用比较简洁的方式写出答案来.可惜的是,很多开发人员,当然我也是其中一员,对于很多经常用到的字符串处理函数却不能牢…