想解释什么是offsetHeight , clientHeight和scrollHeight或offsetWidth , clientWidth和scrollWidth ? 在客户端工作之前,必须知道这个差异。 否则,他们的一生将花在修复UI上。 小提琴或以下内联: function whatis(propType) { var mainDiv = document.getElementById("MainDIV"); if (window.sampleDiv == null) { var div = document.createElement("div"); window.sampleDiv = div; } div = window.sampleDiv; var propTypeWidth = propType.toLowerCase() + "Width"; var propTypeHeight = propType + "Height"; var computedStyle = window.getComputedStyle(mainDiv, null); var borderLeftWidth = computedStyle.getPropertyValue("border-left-width"); var borderTopWidth […]
Chrome的开发者工具摇滚,但他们似乎没有(我能find)的一件事是find一个JavaScript函数的定义的一种方法。 这对我来说是非常方便的,因为我正在一个包含许多外部JS文件的网站上工作。 当然,grep解决了这个问题,但是在浏览器中会好很多。 我的意思是,浏览器必须知道这个,为什么不公开它呢? 我的预期是这样的: 从页面中select“检查元素”,这会突出显示“元素”选项卡中的行 右键单击该行并select“转到函数定义” 正确的脚本被加载到脚本标签中,并跳转到函数定义 首先,这个function是否存在,我只是想念它? 如果没有,我猜这将来自WebKit,但找不到任何开发工具function请求或WebKit的Bugzilla 。
在这个页面上( http://docs.nodejitsu.com/articles/getting-started/what-is-require ),它指出:“如果你想把exports对象设置为一个函数或一个新的对象,你必须使用module.exports对象“。 我的问题是为什么。 // right module.exports = function () { console.log("hello world") } // wrong exports = function () { console.log("hello world") } 我console.logged结果( result=require(example.js) ),第一个是[Function]第二个是{} 。 你能解释一下它背后的原因吗? 我在这里阅读这篇文章: module.exports vs在Node.js中导出 。 这是有帮助的,但没有解释为什么这样devise的原因。 如果直接返回出口的参考资料,会出现问题吗?
我有一个使用Bootstrap标记的表单,如下所示: <form class="form-horizontal"> <fieldset> <legend>Legend text</legend> <div class="control-group"> <label class="control-label" for="nameInput">Name</label> <div class="controls"> <input type="text" class="input-xlarge" id="nameInput"> <p class="help-block">Supporting help text</p> </div> </div> </fieldset> </form> 在那里有很多样板代码,我想减less到一个新的指令 – formsinput,如下所示: <form-input label="Name" form-id="nameInput"></form-input> 产生: <div class="control-group"> <label class="control-label" for="nameInput">Name</label> <div class="controls"> <input type="text" class="input-xlarge" id="nameInput"> </div> </div> 我有这么多的工作通过一个简单的模板。 angular.module('formComponents', []) .directive('formInput', function() { return { restrict: 'E', […]
我有一个对象: myObject = { 'a': 1, 'b': 2, 'c': 3 } 我正在寻找一个本地方法,类似于Array.prototype.map ,将使用如下: newObject = myObject.map(function (value, label) { return value * value; }); // newObject is now { 'a': 1, 'b': 4, 'c': 9 } JavaScript是否具有对象的mapfunction? (我想要这个Node.JS,所以我不关心跨浏览器的问题。)
我开发了一些JavaScript增强页面,在最近的Firefox和Safari上运行良好。 我错过了在Internet Explorer中检查,现在我发现这些页面在IE 6和7(到目前为止)上不起作用。 该脚本不知何故不执行,页面显示,如果JavaScript不存在,虽然一些JavaScript执行。 我正在使用dom操作自己的库,从YUI 2我使用YUI-Loader和XML-Http-Request,并在一个页面上使用“psupload”,这取决于JQuery。 我从Office XP安装Microsoft脚本编辑器,现在将进行debugging。 我现在也会写特定的testing。 什么是IE的典型失败点? 我可以保持睁大眼睛的方向。 我发现这个页面,显示了一些不同之处。 请访问: Quirksmode 你能从你的经历中找出一些我应该首先寻找的典型的东西吗? 以后我还会在这里提出更多的问题来处理特定的任务,但是现在我对你的经验感兴趣,为什么IE通常在Firefox中运行正常的脚本上失败 编辑:谢谢你所有这些伟大的答案! 在此期间,我已经调整了整个代码,以便它也适用于Internet Explorer。 我整合了jQuery,现在在上面build立了自己的类。 这是我的基本错误,我从一开始就没有在jQuery上构build所有的东西。 我现在有。 JSLint也帮了我很多。 许多来自不同答案的单个问题都有所帮助。
我有一个hex颜色,例如#F4F8FB (或rgb(244, 248, 251) #F4F8FB rgb(244, 248, 251) ),我想要转换为尽可能透明的 rgba颜色(白色显示时)。 合理? 我正在寻找一个algorithm,或者至less想法如何这样做的algorithm。 例如: rgb( 128, 128, 255 ) –> rgba( 0, 0, 255, .5 ) rgb( 152, 177, 202 ) –> rgba( 50, 100, 150, .5 ) // can be better(lower alpha) 想法? 基于Guffa答案的FYI解决scheme: function RGBtoRGBA(r, g, b){ if((g == null) && (typeof r === […]
在我的具体情况下: callback instanceof Function 要么 typeof callback == "function" 它甚至重要,有什么区别? 其他资源: JavaScript-Garden typeof vs instanceof
我花了我的时间在vim,目前正在写很多的JavaScript。 我一直在试图find一种方法来整合JSLint或类似的vim来改善我的编码。 有没有人设法做这样的事情? 编辑: 尝试这样的: JavaScript语法检查从Vim ,不幸的是输出是非常粗糙的。
我需要在范围和模板上执行一些操作。 看来我可以在link函数或controller函数中这样做(因为两者都可以访问范围)。 什么时候需要使用linkfunction而不是控制器? angular.module('myApp').directive('abc', function($timeout) { return { restrict: 'EA', replace: true, transclude: true, scope: true, link: function(scope, elem, attr) { /* link function */ }, controller: function($scope, $element) { /* controller function */ } }; } 另外,我知道这个link是无棱angular的世界。 所以,我可以使用$watch , $digest和$apply 。 当我们已经有了控制器的时候, link函数的意义是什么?