Tag: javascript

jQuery Deferred and Promise用于顺序执行同步和异步函数

如果我希望以特定的顺序执行同步和异步函数,我可以使用jQuery承诺,但它似乎不像我期望的那样工作。 函数a,b和c应该在调用deferred.resolve()时以该顺序执行我希望函数b被执行但是无论是否调用了resolve,所有函数都会立即执行。 这是代码: function a(){ var deferred = $.Deferred(); setTimeout(function(){ console.log(“status in a:”,deferred.state()); //this should trigger calling a or not? deferred.resolve(“from a”); },200); console.log(“a”); return deferred.promise(); }; function b(){ var deferred = $.Deferred(); setTimeout(function(){ console.log(“status in b:”,deferred.state()); deferred.resolve(“from b”); },200); console.log(“b”); return deferred.promise(); } //synchronous function function c(){ var deferred = $.Deferred(); console.log(“c”); console.log(“status in […]

Jquery:当鼠标空闲时如何使某些东西淡出。 当鼠标再次移动时,它会消失!

我有一个名为“#top”的div。 当鼠标闲置 3秒钟时我希望它淡出。 当鼠标再次移动时,使其显示(当然,淡入淡出) 有谁知道如何做到这一点? 非常感谢。

防止Web浏览器关闭,直到返回AJAX响应为止

我有一个在网络浏览器中运行的游戏(作为插件),我想要做的是: 检测用户是否已决定关闭浏览器(Alt + F4,点击“X”按钮等) 当我们触发对Web服务的调用以记录用户已关闭浏览器时,阻止浏览器关闭 一旦我们收到来自Web服务的响应,请释放锁定并允许浏览器按要求关闭。 我们想要做到这一点的主要原因是我们遇到了一些并发问题,并且通过我们的日志,我们希望将登出/关闭浏览器的人与插件崩溃的真实实例隔离开来。 我看着用JQuery做这个(对于X-Browser兼容性 – Opera无法工作,但我们还没有任何用户在Opera上谢天谢地): $(window).bind(‘beforeunload’, function(e) { e.preventDefault(); // make AJAX call }); 问题是这会向用户显示一个确认对话框(’您确定要离开此页面’),用户可能会在发送AJAX呼叫之前确认该对话框。 所以问题是,有没有办法阻止浏览器关闭,直到收到响应? 当页面也被更改时,’beforeunload’也会触发 – 有没有办法区分点击链接实际点击关闭? 感谢任何对此的帮助!

访问File对象的某些列出属性时返回“undefined”

我似乎无法访问我的对象的宽度或高度键。 我正在使用dropzone.js,它有一个addFile事件,它返回文件和第一个参数。 所以: var myDropzone = new Dropzone(‘#dropzone’, {url: ‘/’}); myDropzone.on(‘addedFile’, function(file) { console.log(file); }); 回调工作得很好,在我的控制台中我看到: 如您所见,显然有高度和宽度键可用。 myDropzone.on(‘addedFile’, function(file) { console.log(file.name); // returns the whole strong console.log(file.width); // returns undefined console.log(file[‘width’]); // returns undefined }); inheritance人截图: 我的问题是,为什么名称可用,但不是宽度或高度? 是因为他们是只读还是什么? 如果是这样的话,甚至可以访问它吗?

通过延迟图像加速页面加载

我正在创建一个包含大量大图像的页面,所以我自然希望确保页面加载没有太多麻烦。 我在这里阅读这篇文章http://24ways.org/2010/speed-up-your-site-with-delayed-content 推迟的方法如下(从页面中提取,不介意URL) Drew McLellan 然后一段js负责图像加载 $(window).load(function() { $(‘a[data-gravatar-hash]’).prepend(function(index){ var hash = $(this).attr(‘data-gravatar-hash’) return ” }); }); 我不打算为每个图像执行此操作,但对于某些我不需要在页面加载时显示的图像。 这是最好的方法还是有更好的方法通过延迟图像来实现更快的页面加载? 谢谢

什么是videohtml5元素上的播放事件?

我在页面上嵌入了一个videohtml5标签。 我需要在用户点击“播放按钮”时触发操作。 但是我找不到如何将它绑定到我的动作上。 是否有我需要的活动? 我正在使用jQuery … 谢谢!

解析json字符串

我有以下Json字符串 { “Users” : [ { “Name” : “user99”, “Value” : “test” }, { “Name” : “test2”, “Value” : “test” } ] } 我正在尝试解析它并打印出每个名称和值 – 最简单的方法是什么? 我试过jQuery.parseJSON,但我不知道如何使用它 示例代码会很棒

如何更改jQuery UI Dialog的背景颜色?

我很难弄清楚如何更改jQuery UI Dialog背景颜色。 我见过很多参考如何更改/删除标题栏但不包括整个背景,包括那些弯曲的角落。 这是我的尝试: http://jsfiddle.net/dEvKb/11/ 问题是.ui-widget-content仅适用于对话框中的方形区域,但不包括弯曲的角落。 我发现了一个类.ui-corner-all类,希望它会为整个背景着色,但只有一半的对话框是彩色的。 (你可以在jsfiddle中看到这个) 有没有人这样做过?

jQuery从左到右动画图像?

我有一个Bee图像,我想使用jQuery为它设置动画。 我们的想法是将图像从左侧(屏幕外)移动到右侧(屏幕外),以创建像飞行一样的效果。

firefox + jquery鼠标滚动事件错误

更新大卫建议的工作修复(见下文): 更换 $(‘.scrollMe’).bind(“mousewheel DOMMouseScroll”, …) 同 $(‘.scrollMe’).bind(“mousewheel DOMMouseScroll MozMousePixelScroll”, …) 原始邮政 Firefox 16.0.2(最新版)显示绑定“mousewheel / DOMMouseScroll”事件时的问题。 当鼠标指针位于我的目标div顶部时使用鼠标滚动滚动会导致窗口滚动 – 而我显然不希望这样。 我尝试添加几种方法来阻止传播等,但似乎没有任何效果。 Javascript代码: $(document).ready(function() { $(‘.scrollMe’).bind(“mousewheel DOMMouseScroll”, function(e) { e.stopImmediatePropagation(); e.stopPropagation(); e.preventDefault(); var delta = parseInt(e.originalEvent.wheelDelta || -e.originalEvent.detail); $(this).empty(); return false; }); }); 要查看它的实际效果,请按照下面的jsFiddle链接。 在示例页面上,只需将鼠标指针放在带有红色框的div中,然后使用鼠标滚轮。 Firefox将首次(意外地)滚动父窗口,而其他浏览器则不会。 jsFiddle代码示例 奇怪的是,一旦你在绑定元素上触发事件,Firefox就不会重复这种行为,这意味着它会停止滚动页面。 但是,在您手动滚动页面并再次尝试后,它会重复此行为。 我也在IE9和Chrome中测试了这个,但在这些浏览器中无法检测到这个问题(意味着它们没有意外滚动窗口),所以我猜它是特定于Firefox的(也禁用了firefox中的每个插件等) ) 这真的是firefox中的一个错误(如果有的话,是否会出现跨浏览器黑客攻击)? 或者,如果您知道任何其他解决方案,以实现捕获鼠标滚轮事件的相同效果,而无需滚动页面的窗口,请随时回答!