我正在动态更新setTimeout()函数后的一些元素.jQuery函数.text()似乎在处理时随着数组索引的每次更改而动态更新.但是一个正在改变的引导进度条似乎.css()并.attr()没有动态更新.这是我的页面:http://imdbnator.com/process.php?id = f144caf0843490c0d3674113b03da0c5&redirect = false
您可以看到文本已更改但进度条仅在整个setTimeout()函数完成后结束.另外,如果我设置了delay = 1000.有用.但它因应用而变慢.因此,我需要delay = 0.但为什么进度条不会改变?
这是我的片段
function launch(a) {
var inc = 0;
var maxc = a.length;
var delay = 0; // delay milliseconds
var iID = setInterval(function () {
var index = inc;
var movie = a[inc];
//start processing function
//styling while processing
var markerPer = ((index + 1) / rawListNum) * 100; // marker percentage
$("#procNum").text("(" …Run Code Online (Sandbox Code Playgroud) 我遇到了一个简单的问题.让我说我的用户通过一个简单的<img data-image='1' src="myimg1.jpg"> <img data-image=2' src="myimg2.jpg">...等加载大约150张图像
当用户将鼠标悬停在其中一个图像上时.我希望myimg-thisimage.jpg在屏幕底部的小菜单中显示.截至目前,我正在将菜单中的src属性更改为:
$('#info-poster').attr("src","myimage-thisimage.jpg");
Run Code Online (Sandbox Code Playgroud)
注意: myimage-thisimage.jpg当前是否在图像上方悬停.
但是,当我这样做.浏览器正在重新加载图像(因为,有一个小的延迟).是否有任何方法可以绕过此加载,因为用户已经使用克隆DOM元素的巧妙方式加载了图像?
PS:启用浏览器图像缓存.因此,缓存不是问题.
编辑:我知道一种方法是创建300个图像元素并隐藏其他150个图像元素.但在一个场景(绝对可能)中,有近500张图像,我将不得不创建大约1000个DOM元素,这将是一个很大的性能问题.
就像标题所说,我有一个目录结构,我想将其转换为兼容jsTree用法的JSON格式.所以给定列表的输出
INPUT:
./Simple Root Node
./Root Node 2
./Root Node 2/Child 1
./Root Node 2/Child 2
Run Code Online (Sandbox Code Playgroud)
OUTPUT:
treeJSON = [
{ "id" : "ajson1", "parent" : "#", "text" : "Simple root node" },
{ "id" : "ajson2", "parent" : "#", "text" : "Root node 2" },
{ "id" : "ajson3", "parent" : "ajson2", "text" : "Child 1" },
{ "id" : "ajson4", "parent" : "ajson2", "text" : "Child 2" },
]
Run Code Online (Sandbox Code Playgroud)
我的方法:
目前,我从输入中获取每一行.说./Root Node 2/Child 1,然后我模式匹配第一个文件夹,创建一个像这样的数组 …
目前,我正在使用setTimeout()暂停一个for巨大的列表循环,以便我可以添加一些样式到页面.例如,
例如:http://imdbnator.com/process?id = wtf& redirect = false
我使用setTimeOut:
我setTimeout()用来添加图像,文本和css进度条(为什么Progress Bar不会像Text一样动态变化?2).
显然,正如您所看到的那样,用户浏览页面并将鼠标悬停在几张图片上非常痛苦.它变得非常迟钝.这有什么解决方法吗?
我的FOR循环:
每个for循环在后台向PHP API发出ajax请求.这肯定会让我在那里付出一定的效率,但是所有其他网站如何以如此优雅的方式拉开它?我的意思是,我看到网站显示了一个很好的加载图像,在发出API请求时没有用户干扰.虽然我尝试做类似的事情,但我set a time-out每次都有.
他们是否使用了更好的服务器 - 客户端交互语言,比如我听过的node.js?
此外,我想到了一些替代方案,但遇到了其他并发症.如果您能帮助我解决这些可能的替代方案,我将不胜感激.
方法1:
我没有通过jQuery对我的PHP API进行AJAX调用,而是完全可以完成一个完整的服务器端脚本.但是,我遇到的问题是我无法创建一个好的客户端页面(如我当前页面中)更新进度条并在处理完每个列表项后添加动态图像.或者这可能吗?
方法2 :(已编辑)
就像下面的有用答案一样,我认为最大的问题是服务器API和客户端交互.他建议的Websockets看起来很有希望.它们必然会比setTimeout更好吗?是否有任何重大的时间差异让我说我将当前的1000个AJAX请求替换为websocket?
此外,如果除了websocket之外还有其他任何东西比AJAX调用更好,我将不胜感激.
专业网站如何通过流媒体服务器和客户端交互来解决问题?
编辑1:请解释专业网站(例如http://www.cleartrip.com,当您请求航班详细信息时)如何在处理服务器端时提供顺畅的客户端.
编辑2:正如@Syd建议的那样.这是我正在寻找的东西.我认为我当前的客户端和服务器交互有很多延迟.Websockets似乎是一个解决方案.除了标准的AJAX之外,还有哪些其他/最佳方法可以改善服务器cleint交互?
我想获得特殊字符之间的最后一个字符串.我做过方括号\[(.*)\]$
但是,当我在类似的东西上使用它时Blah [Hi]How is this[KoTuWa].我得到了结果[Hi]How is this[KoTuWa].
如何修改它以获取最后一个字符串KotuWa.
另外,我想概括为一般特殊字符,而不是像上面那样仅仅匹配方括号之间的字符串.
谢谢,赛
我有一个JSON字符串,如图所示json1.我试图将其解析为JSON但它似乎无法工作.出了什么问题?
import json
string1 = "[]"
list1 = "['hi','bye']"
json1 = "{'genre': ['Action', 'Comedy']}"
print json.loads(string1)
print json.loads(list1)
print json.loads("{'genre': ['Action', 'Comedy']}")
Run Code Online (Sandbox Code Playgroud)
它给了我错误
Traceback (most recent call last):
File "python", line 8, in <module>
ValueError: No JSON object could be decoded
Run Code Online (Sandbox Code Playgroud) 我面对的问题很简单。我想跟踪文件/文件夹,即使它已被重命名/删除等?NodeJS是否提供一种访问此信息文件的方式?我尝试了默认的文件系统模块fs.stats():https : //nodejs.org/api/fs.html#fs_class_fs_stats。不幸的是,它似乎没有为特定文件提供这种唯一的ID引用。
NodeJS中是否存在这样的解决方案?
注意:我不想为文件生成唯一ID。将随机字符串分配给文件并将该字符串与此关联非常简单。但这是另一回事。我想将文件与某种系统范围的字符串相关联。
任何帮助表示赞赏。