具有HTML/JQuery可见性的Javascript循环
我正在尝试做一个循环,在继续之前检查一些事情。如果循环不是实现这一目标的最佳方式,我愿意接受新想法 请注意:我很抱歉,如果这句话的措辞真的很糟糕,那是匆忙的。 更新: 让我们用实际的例子来重新表述这一点。 我是通过代码片段(Chrome)来实现这一点的,所以这不是内置在网站中的,也不是我自己的网站,我只是创建了一个工具,让这对我来说更容易 让我们称它们为“任务”,而不是行。打开任务时,具有HTML/JQuery可见性的Javascript循环,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试做一个循环,在继续之前检查一些事情。如果循环不是实现这一目标的最佳方式,我愿意接受新想法 请注意:我很抱歉,如果这句话的措辞真的很糟糕,那是匆忙的。 更新: 让我们用实际的例子来重新表述这一点。 我是通过代码片段(Chrome)来实现这一点的,所以这不是内置在网站中的,也不是我自己的网站,我只是创建了一个工具,让这对我来说更容易 让我们称它们为“任务”,而不是行。打开任务时,$(“#workRequestDetailsPanel”)将可见。一旦这是可见的,我想通过运行一个类似于app.
$(“#workRequestDetailsPanel”)
将可见。一旦这是可见的,我想通过运行一个类似于app.workRequestDetails.SubmitWorkRequestDetails()的命令来提交任务。。运行此函数时,它将关闭任务,允许打开新任务。如果我在一个任务已经打开时打开一个新任务,它会崩溃,需要我重新加载网站,因此我需要等待整个过程结束,然后再打开一个新任务
这个例子有点有效,但是网站在使用时间上确实很糟糕。例如,有时关闭任务所需的时间超过4秒
var checkExist = setInterval(function() {
if ($('#workRequestDetailsPanel').is(':visible')) {
app.workRequestDetails.SubmitWorkRequestDetails();
app.modalPopup.ClosePopup();
setTimeout(function(){
if($('#workRequestDetailsPanel').length == 0){
app.dashboardGridview.OpenPopup($('.GVSingleCheckbox').eq(1).attr('id'));
}else{
app.workRequestDetails.CloseWorkrequestDetailsPopup();
}
}, 4000);
}
}, 4000);
我想到了这样的事情:
//检查我们的限制,这样我们就不会以无限循环结束。
//您应该将其替换为可用表行的长度
设numorrows=10;
//从第一排开始
设currentRow=1;
//行的标签如下:#行1,#行2#排
函数checkRow(rowNum){
设checkExist=setInterval(函数(){
如果($('#row'+rowNum).is(':visible')){//一旦可见,关闭“row”
关闭(rowNum);//关闭当前行
currentRow++;//递增currentRow
clearInterval(检查存在);
//如果有更多行要检查,请使用递增的数字再次运行该函数
如果(目前有太多的因素需要知道最好的解决方案。唯一需要花费时间的是图像加载和Ajax请求。想异步。考虑一个允诺结构。”StaskSuffy抱歉,我相信我更正它来更好地表示我正在尝试做的事情。可见性没有真正改变,或者至少属性没有改变。我相信,<代码>可见性被设置为真,它只是把它移回。我从来没有玩过这个游戏,所以我对它不太了解。我是否正确地使用它。你的编辑删除了你使用的代码,因此把问题提了出来。考虑把它添加回去。更新这个问题,它很差。我觉得我已经改正了书中的大部分错误。