我试图弄清楚如何在jQuery的click()事件期间创建的函数中存储外部变量值.这是我正在使用的代码示例.
for(var i=0; i<3; i++){
$('#tmpid'+i).click(function(){
var gid = i;
alert(gid);
});
}
<div id="tmpid0">1al</div>
<div id="tmpid1">asd</div>
<div id="tmpid2">qwe</div>
Run Code Online (Sandbox Code Playgroud)
所以发生的事情是事件正确附着,但'gid'的值始终是'i'的最后一个递增值.我不确定如何在这种情况下设置私有变量.
所以我有以下代码执行setInterval,直到可以写入iframe.
$( '#testdiv').append( $('<iframe id="testiframe"/>') );
var t = setInterval(function(){
if(document.getElementById('testiframe') !== 'undefined'){
clearInterval(t);
$('#testiframe').contents().find('body').append('asd');
}
}, 15);
Run Code Online (Sandbox Code Playgroud)
基本上发生的是jQuery创建iframe元素并将其加载到DOM中.但是,iframe不能立即使用,因此编码的其他jQuery调用会在字后面发生.使用这段代码,它会进行简单的间隔检查,直到新的iframe可用,然后将'asd'写入其内容.
我花了大约一个小时尝试将方法链接到iframe创建的不同方法,但没有什么真正起作用.这似乎只是时间问题.我试过$('#testiframe').live('load',function(){}); 而这根本不起作用.
那么有人对此有更清晰的建议吗?
我一直在使用它作为参考,但无法完全满足我的需求:在Python中调用外部命令
我也在读这篇文章:http://www.python.org/dev/peps/pep-3145/
对于我们的项目,在部署应用程序之前,我们需要更新5个svn签出.在我的开发环境中,快速部署对于生产力而言比生产部署更重要,我一直在努力加快这一过程.
我有一个bash脚本,一直运作得体,但有一些限制.我使用以下bash命令启动多个'svn updates':
(svn update /repo1) & (svn update /repo2) & (svn update /repo3) &
Run Code Online (Sandbox Code Playgroud)
这些都是并行运行的,效果很好.我还在构建脚本的其余部分中使用此模式来触发每个ant构建,然后将战争移动到Tomcat.
但是,如果其中一个更新或构建失败,我无法控制停止部署.
我正在用Python重写我的bash脚本,所以我可以更好地控制分支和部署过程.
我正在使用subprocess.call()来触发'svn update/repo'命令,但每个命令都按顺序执行.我尝试'(svn update/repo)&'然后全部触发,但结果代码立即返回.因此,在异步模式下,我无法确定特定命令是否失败.
import subprocess
subprocess.call( 'svn update /repo1', shell=True )
subprocess.call( 'svn update /repo2', shell=True )
subprocess.call( 'svn update /repo3', shell=True )
Run Code Online (Sandbox Code Playgroud)
我很想找到一种方法让Python启动每个Unix命令,并且如果任何调用在任何时候整个脚本停止都失败了.
这一直让我有点慌张,我无法找到其他人记录这种差异的地方.
window.getComputedStyle(el).height
Run Code Online (Sandbox Code Playgroud)
有关演示,请参见http://jsfiddle.net/ZwF9H/6/.
我期待的是window.getComputedStyle()应该在所有浏览器之间返回相同的计算高度值.Internet Explorer 11正在做一些不同的事情.(实际上,IE 9和10也是如此,但IE 11是第一个我可以使用开发工具的工具.)
对于所有其他浏览器,计算出的高度是css中设置的高度,无论是在样式表中还是在textarea元素上内联.
IE11忽略了box-sizing:border-box声明并减去了padding和margin,我认为这是不正确的.
这是一个错误,我做错了什么,是否知道IE11以不同的方式返回计算值?
如果我为嵌入对象执行在线onload事件,这似乎有效,但我似乎无法通过addEventListener获取load事件.这是预期的吗?
我是一位非常有经验的前端工程师,背景很弱.我试图理解递归的概念.我能找到的大多数例子和声称的解释都没有以我容易理解的方式解释它.
我为自己设定了一个编写一个函数的任务,该函数将递归地反转一个字符串.我知道必须有一个基本条件(即找到解决方案),但我无法弄清楚如何实际编写这样的东西,并可以使用一个演示来学习.
有人可以提供样本功能吗?
我有一个lighttpd运行的实例.当我执行"ps -axc"时,该过程列为
"614 ?? 0:00.15 lighttpd"
Run Code Online (Sandbox Code Playgroud)
但是,当我做"killall lighttpd"时,我得到了
No matching processes belonging to you were found
Run Code Online (Sandbox Code Playgroud)
我在Mac OS X 10.5.6上.有什么我想念的吗?
我正在为视频添加水印。我试图让水印与视频尺寸成比例地缩放。我已经使用 scale2ref 看到了十几种不同的答案,但没有解释实际发生了什么,所以我发现很难知道如何实现/更改配置以适应我的情况。
当前覆盖命令:
ffmpeg -i test.mp4 -i logo.png -filter_complex "overlay=0:0" output.mp4
Run Code Online (Sandbox Code Playgroud)
我看过的一些答案:
scale2ref 如何工作的规则是什么?
我正在尝试在Facelets/JSF环境中完成一个小小的调整.我几乎都不知道它们是如何组合在一起的.
我在各个页面上定义了一个值为"title"
<ui:define name="title">PageUID_123</ui:define>
Run Code Online (Sandbox Code Playgroud)
在另一个页面上,我引用了以下内容:
<ui:insert name="title"/>
Run Code Online (Sandbox Code Playgroud)
我可以在插入周围包装html标签就好了,但我需要能够输出"title"的值作为另一个元素的属性.我的最终目标是以html呈现,如下所示:
<meta name="pageid" content="PageUID_123"/>
Run Code Online (Sandbox Code Playgroud)
如果我尝试将insert标记放在content =""位中,则会抛出解析错误.有没有办法做到这一点?
编辑 花了几个小时来完成这个并使用@pst之后,事实证明这个问题完全不同了.
在代码中,您可以看到我使用了"+ new Date()"的时间戳快捷方式.这将返回时间戳,标准"new Date().getTime()"也是如此.
但是,+ new Date()在与数学运算(+, - ,/)一起使用时执行得非常非常糟糕.虽然'start'变量的typeof()表示'number',但是有些东西会让它变得很慢.使用标准getTime()方法时,在进行时序减法时不会有性能损失.
看一下详细解决这个问题的jsperf,http: //jsperf.com/new-date-timing .
关于@pst的非常详细的答案以及我为复制链接问题所做的努力,使用他的答案作为该问题的规范答案.
我将更改此问题的标题以准确反映@ pst的答案和我的原始意图,但会保留原始标题和问题以供将来参考.
新问题
javascript数组是否对随机排序和未排序数据的数组使用分支预测?
请参阅下面的@ pst答案.
原标题和问题如下
标题:数组迭代在同一数据上占用2倍的时间
我之前看过这个问题,为什么处理排序数组比未排序数组更快?,并想尝试在JavaScript中设置相同的测试.
这让我意想不到.在以下小提琴中链接的测试中,简单地使用相同的代码迭代相同的随机生成的数值数组会导致响应时间大不相同.
我在Chrome,Safari,Firefox和node.js中对此进行了测试.
在Chrome&node中,第一次迭代比第二次迭代更快.在Safari和Firefox中,第一次迭代比第二次迭代慢.
这是小提琴,http://jsfiddle.net/9QbWB/6/
在链接的小提琴中,我禁用了排序(认为最初是问题,但事实并非如此).对数据进行排序使循环更长.
我已经彻底完成了代码,以确保我删除了任何可能影响结果的内容.我觉得这是一群特别的科学家宣布FTL中微子,我在实验中找不到问题,数据是出乎意料的.
在下面包含的代码中,初始setTimeout,jQuery DOM可视化等一些内容用于在jsfiddle.net中直观地显示数据.核心功能是相同的.
//javascript test of https://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array
setTimeout(function(){
var unsorted_list = $('#unsorted'),
sorted_list = $('#sorted');
var length = 32768,
data = [];
for(var i=0; i<length; i++){
data[i] = Math.floor( Math.random()*256);
}
var test = function(){
var sum = 0,
start = +new Date();
for(var i=0; …
Run Code Online (Sandbox Code Playgroud)