Tag: JavaScript

Javascript“variablesvariables”:如何基于另一个variables分配variables?

我在Javascript中有一组全局计数器variables: var counter_0 = 0; var counter_1 = 0; var counter_2 = 0; 等等 然后我有一个Javascript函数接受映射到这些全局计数器的“索引”号码。 在这个函数里面,我需要使用传递给函数的'index'值来读写这些全局计数器。 我希望如何工作的例子,但当然根本不起作用: function process(index) { // do some processing // if 'index' == 0, then this would be incrementing the counter_0 global variable ++counter_+index; if (counter_+index == 13) { // do other stuff } } 我希望我所做的是明确的。 如果没有,我会尽力澄清。 谢谢。 编辑澄清: 我不是要增加柜台的名字,而是柜台的价值。

谷歌地图API – 错误的地点多个图标

我有一个很奇怪的问题,似乎最近才出现。 很久以前,我还没有对这个项目做过任何主要的代码修改,也没有对这个function做任何修改。 所以问题是,当我使用API​​向Google Map中添加多个图标时,这些图标会显示在彼此之上。 奇怪的是,标签都是正确定位的,但是它们使用与图标相同的坐标。 这是传递给函数的string 1344, 52.65665917, -2.49004717, '../Images/Icons/Direction/container_blueN.ico', 'Galahad', '2014 Mar 05 Wednesday, 14:00', 'Wellington Road, Horsehay, Hollybank', 'RESERVED', '0 KPH', 0 function是 function AddClusterLocation(FID, latitude, longitude, Icon, ID, DateStamp, Location, Event, Speed, IgnitionStatus) { if (objMap) { var cssName = 'MarkerIgnitionOff'; switch (IgnitionStatus) { case '1': cssName = 'MarkerIgnitionOn'; break; default: cssName […]

在javascript中将简单对象转换为函数实例(“类”)

function Person() { var self = this; self.personName=""; self.animals=[]; } function Animal(){ var self=this; self.animalName=""; self.run=function(meters){ ….. } } 服务器响应: [{personName:John,animals:[{animalName:cheetah},{animalName:giraffe}]} , {personName:Smith,animals:[{animalName:cat},{animalName:dog}]} ] 我从服务器获取Person数组。 我想要将genericsPerson数组转换为typesPerson数组。 所以我可以使用 persons[0].Animals[2].Run(); 我创build了Javascript的 Object.create(Person,person1); 但是我想用数组支持跨浏览器版本 ObjectArray.create(Person,persons); 要么 Object.create(Person[],persons);

event.wheelDelta返回undefined

所以我试图禁用我的页面上的滚动,当我的灯箱打开,我发现这真的有用的脚本,正是这样做。 ( http://jsfiddle.net/mrtsherman/eXQf3/3/ ),不幸的是,当我在我自己的页面上使用它时,它禁用了在我的lightbox中滚动。 我开始用警报debugging代码,只是发现event.wheelDelta在我的页面上返回“undefined”,而在JSFiddle中 ,它返回-120。

使用中点击触发onclick事件

我正在使用哈希链接的onclick事件来打开<div>作为popup窗口。 但是,中间点击不会触发onclick事件 ,只会将链接的href属性值加载到新页面中。 我怎样才能用中键打开<div>作为popup窗口?

在JavaScript中sorting:每个比较函数是否应该有一个“返回0”语句?

我最近阅读了许多关于JavaScriptsorting的答案,而且我常常偶然发现一个看起来像这样的比较函数: array.sort(function(a,b){ a > b ? 1 : -1; }); 所以它是一个比较函数,如果a大于b ,则返回1,如果a小于OR,则返回-1。 如MDN( 链接 )所述,比较函数也可以返回零,以确保两个项目的相对位置保持不变: 如果compareFunction(a,b)返回0,则相对于彼此保持a和b不变,但相对于所有不同的元素进行sorting。 所以官方的例子看起来更像这样: function compare(a, b) { if (a < b) return -1; if (a > b) return 1; return 0; } 实际上,通过添加return 0语句,sortingalgorithm通常需要更less的迭代,并且运行速度更快( JSPerf )。 所以我想知道是否有任何优势,省略return 0语句。 我意识到,在MDN上,它也说: 注意:ECMAscript标准并不保证这种行为,因此不是所有的浏览器(例如,至less可以追溯到2003年的Mozilla版本)都尊重这一点。 参考行为,如果返回0,则a和b应该保持不变。 所以也许,通过返回0,我们会在不同的浏览器中得到一个稍微不同的sorting数组? 这可能是一个原因吗? 还有没有其他很好的理由不归零?

将点击事件处理程序添加到iframe

我想要处理iframe的ID作为参数的处理程序的iframe上的click事件。 我可以通过JavaScript添加一个onClick事件处理程序如下,它工作正常: iframe.document.addEventListener('click', clic, false); 但在这种情况下,我无法将parameter passing给clic() 。 我试图在clic()打印this.id ,但没有结果。 onClick HTML属性根本不起作用,处理程序不被调用。 <html> <head> <script type="text/javascript"> function def() { myFrame.document.designMode = 'on'; } function clic(id) { alert(id); } </script> </head> <body onLoad="def()"> <iframe id="myFrame" border="0" onClick="clic(this.id)"></iframe> </body></html>

jQuery .load()/ .ajax()在追加后不在返回的HTML中执行javascript

我已经尝试使用.load()和$.ajax来获取一些需要附加到容器的HTML,但是当我将它附加到一个元素时,返回的HTML中的Javascript并没有被执行。 使用.load() : $('#new_content').load(url+' #content > *',function() { alert('returned'); }); 我也尝试切换到$ .ajax调用。 然后我从返回的HTML提取脚本后,我将其附加到容器,但同样的问题,在这种情况下,JS并没有被执行,甚至追加,并据我了解,试图追加一个<script>像这样的DOM元素是皱眉了? 使用$.ajax : $.ajax({ url: url }).done(function(response) { var source = $("<div>").html(response).find('#overview_script').html(); var content = $("<div>").html(response).find('#content').html(); $('#new_content').html(content); $('<script>').appendTo('#new_content').text(source).html(); }); 理想情况下,我会在附加HTML后在callback中运行此JavaScript,但variables被设置为从控制器返回的值。 所以总的来说,我试图得到一些HTML,其中包含JS后,需要运行的HTML附加后,但我没有运气使用.load()或$.ajax()作为脚本在返回的HTML或者在追加时消失,或者根本不执行。

检查inputstring是否包含javascript中的数字

我的最终目标是validationinput字段。 input可以是字母或数字。

使用AJAX来读取本地文件

我是AJAX的新手,只是想确认:如果我的桌面上的所有代码都放在一个文件夹中,而且我正在使用AJAX以HTML格式输出文件内容,是否可以通过AJAX访问本地文件?文件应该在服务器上? 我只是第一次testing的AJAXfunction,我面临的问题,因为它显示错误“拒绝访问”在.js文件