Tag: javascript

如何在jQuery调用序列中等待效果队列完成

我正在寻找一些function: 能够等待队列中的所有效果完成 可以在经典的jQuery调用序列中使用 例: 我想做一些动画, 然后在完成后进行一些操作: $(‘.obs_list’) .delay(500) .animate({ ‘background-color’ : ‘#ffcc33’ }, 200) .delay(1000) .animate({ ‘background-color’ : ‘transparent’ }, 2000) .THE_FUNCTION_I_AM_LOOKING_FOR() .css({ ‘color’ : ‘red’ }) // this should come *after* the effects above are finished … 我想避免动画函数的complete回调,因为你必须再次在其中调用jquery,它不是很优雅并打破了链: … .animate({ ‘background-color’ : ‘transparent’ }, 2000, function () { $(this) .css({ ‘color’ : ‘red’ }) […]

如何刷新存储和快照的jquery选择器变量

我昨天遇到了一个问题,一个jquery-selector我分配给一个变量,这让我很生气。 这是一个带有testcase的jsfiddle: 将.elem分配给我的obj var 将两个长度记录到控制台。 结果=> 4 从DOM中删除#3 log obj to console =>删除的#3仍在那里,长度仍为4.我发现jquery查询是快照的? 变量而不能?不会? 得到更新 将.elem登录到控制台..是的结果=> 3,#3消失了 现在我更新.elem,新宽度为300 logging obj&obj.width给了我300 ..所以快照已更新? 有趣的是,4个div中有3个具有新的宽度,但删除的#3没有…… 另一个测试:将一个li元素添加到domtree并记录obj和.elem。 .elem确实有新的li而obj没有,因为它仍然是旧的快照 http://jsfiddle.net/CBDUK/1/ 有没有办法用新内容更新此obj? 我不想做一个新的obj,因为在我的应用程序中有很多信息保存在该对象中,我不想破坏…

setInterval延迟不准确

我目前正在使用setInterval创建一个倒计时,虽然它运行速度比应该慢。 根据MDN ,延迟参数以毫秒为单位,但不准确。 我将倒计时与手机上的倒计时进行了比较,手机的运行速度提高了近5倍。 var count = setInterval( function() { if (iMil == 0) { if (iS == 0) { if (iMin == 0) { if (iH == 0) { // DONE } else { iH–; iMin = 59; iS = 59; iMil = 999; } } else { iMin–; iS = 59; iMil == […]

jQuery Cant删除li一旦添加

当我在列表中添加一个新的 ,然后我尝试删除它时,它不会让我从列表中删除新添加的function? http://jsfiddle.net/43nWM/ 干杯

避免形成多个提交并在完成后重新启用

我有一个表单,允许查看页面中的数据或根据按下的提交按钮在csv中下载。 由于这是一个很长的数据库查询,我想避免用户多次提交(你知道用户的食指在鼠标左键上有多重……)以避免数据库过载并使用户更轻松… 我写了这个小jQuery代码来替换提交按钮和处理,请等待和经典的动画旋转gif $(document).ready(function(){ //preload wait img var $waitImg = $(”).attr(‘src’, ‘/img/wait.gif’) $(‘.wait’).click(function(){ $(‘:submit’).hide(); $(this).after($(‘Processing, please wait…’).prepend($waitImg)); }); }); 所有的工作,但有一些缺点: 当用户看到结果然后按下浏览器的后退按钮时,他将再次获得处理,请等待句子并且没有提交按钮(如果他只想编辑某些内容并进行新查询,该怎么办) 在提示用户下载CSV文件后,他继续被告知要等待… 解决方案可能是检测某些用户回来或下载盯着或以其他方式告诉他工作正在进行中。 越容易越好。

jQuery移动导航选项卡

我想在我的jQuery Mobile项目中有一个标签导航。 我知道我可以使用数据角色’navbar’,但我只想更改导航栏下面的内容而不刷新到新页面。 到目前为止,我只能有几个不同的页面,相同的导航栏相互链接,但这不是我想要的。 谁能帮我? 先感谢您

普通Javascript双向数据绑定

出于好奇和增加我的知识,我想在dom元素和javascript变量之间实现某种双向数据绑定。 我很幸运能找到一个很好的答案来解决我的一半问题@ stackoverflow导致我这个要点https://gist.github.com/384583 ,但我仍然无法完成100%的事情。 这是我的代码示例 : http : //jsfiddle.net/bpH6Z/ 如果您尝试运行小提琴并单击“视图值”,您将得到未定义 ,而我想获取对象属性的实际值。 由于我缺乏javascript的经验,我可能做错了什么,但是你知道为什么我不能在_bind()和_watch()调用之后正确读取属性’secret’吗? 免责声明 :正如我所说,我这样做是因为我想要更好地了解javascript,而且我不打算编写我的框架。 所以任何“USE FRAMEWORK X”都是完全没用的,因为我可以用angularjs完成工作。

捕获html5canvas输出为video或swf或png序列?

我需要将HTML5canvas输出视为video或swf png序列。 我在stackoverflow上找到了以下用于捕获图像的链接。 将HTML Canvas捕获为gif / jpg / png / pdf? 但是,任何人都可以建议我们是否希望输出为png序列的video或swf? 编辑: 好了,我现在明白了如何捕获canvas数据以存储在服务器上,我尝试了它,如果我只使用形状,矩形或其他图形,它工作正常,但如果我在canvas元素上绘制外部图像则不行。 任何人都可以告诉我如何完全捕获canvas数据是否我们使用图形或外部图像在canvas上绘图? 我使用了以下代码: var cnv = document.getElementById(“myCanvas”); var ctx = cnv.getContext(“2d”); if(ctx) { var img = new Image(); ctx.fillStyle = “rgba(255,0,0,0.5)”; ctx.fillRect(0,0,300,300); ctx.fill(); img.onload = function() { ctx.drawImage(img, 0,0); } img.src = “my external image path”; var data = cnv.toDataURL(“image/png”); } 在将canvas数据导入我的“数据”变量后,我创建了一个新的canvas并在其上绘制捕获的数据,在第二个canvas上绘制的红色矩形但外部图像没有。 […]

在度假后获取jQuery可排序列表中的列表项的顺序

我的网站上有一个列表。 我正在使用jQuery的可排序教程,使用户能够更改列表项的顺序。 http://jqueryui.com/demos/sortable/ 诀窍是我想在度假村后立即捕获项目的顺序,并将订单值分配给隐藏的表单元素,这些元素将通过表单提交传递给我的服务器,我可以使用php脚本保存新订单数据库中的元素。 这是演示的源代码: #sortable { list-style-type: none; margin: 0; padding: 0; width: 60%; } #sortable li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; } #sortable li span { position: absolute; margin-left: -1.3em; } $(function() { $( “#sortable” ).sortable(); $( “#sortable” ).disableSelection(); }); Item 1 Item 2 […]

window.onerror没有在Firefox中触发

我正在尝试创建一个javascript错误日志记录基础结构。 我正在尝试将window.onerror设置为我的error handling程序。 它适用于IE 6,但是当我在Firefox中运行它时,它遇到了一些冲突的onerror方法。 var debug = true; MySite.Namespace.ErrorLogger.prototype = { //My error handling function. //If it’s not in debug mode, I should get an alert telling me the error. //If it is, give a different alert, and let the browser handle the error. onError: function(msg, url, lineNo) { alert(‘onError: ‘ + msg); if […]