Tag: jQuery

JQuery – 将ajax响应存储到全局variables中

我仍然是jQuery和ajax场景的新手,但我有一个$ .ajax请求执行一个GET来检索一些XML文件(〜6KB或更less),但是在用户花费在该页面的XML内容应该不会/不会改变(这个devise我不能改变,我也没有改变XML文件,因为我正在从别的地方读取它)。 因此,我有一个全局variables,它将响应数据存储到数据中,并且对数据的任何后续查找都在这个variables上完成,因此不需要进行多个请求。 鉴于XML文件可以增加的事实,我不知道这是最好的做法,也来自java背景,我对全球公共variables的想法通常是一个禁忌。 所以我的问题是,是否有更好的方法来做到这一点,以及如果文件扩展到一些荒谬的文件大小是否会导致任何内存问题的问题? 我认为数据可以传递给xml对象中的一些getter / settertypes的函数,这将解决我的全局公共variables问题,但仍然提出了是否应该将响应存储在对象本身中的问题。 例如,我现在做的是: // top of code var xml; // get the file $.ajax({ type: "GET", url: "test.xml", dataType: "xml", success : function(data) { xml = data; } }); // at a later stage do something with the 'xml' object var foo = $(xml).find('something').attr('somethingElse');

在javascript / jQuery中将string转换为数字

一直试图将以下转换为数字: <button class="btn btn-large btn-info" data-votevalue="1"> <strong>1</strong> </button> var votevalue = parseInt($(this).data('votevalue')); 我也尝试过Number()但是在检查结果时我还是得到了NaN 。 我究竟做错了什么? 这里是完整的代码: <div class="span7" id="button-group"> <div class="btn-group"> <button class="btn btn-large btn-info" data-votevalue="1"><strong>1</strong></button> <button class="btn btn-large btn-info" data-votevalue="2"><strong>2</strong></button> <button class="btn btn-large btn-info" data-votevalue="3"><strong>3</strong></button> <button class="btn btn-large btn-info" data-votevalue="4"><strong>4</strong></button> <button class="btn btn-large btn-info" data-votevalue="5"><strong>5</strong></button> <button class="btn btn-large btn-info" data-votevalue="6"><strong>6</strong></button> <button class="btn btn-large btn-info" […]

Require.js错误:模块的加载超时:backbone,jquerymobile

我正在尝试使用r.js来优化我的代码,但我一直运行到这个错误: 跟踪:init的依赖关系 Error: Load timeout for modules: backbone,jquerymobile 我正在运行的命令是这样的: $ java -classpath /Users/dixond/build-tools/rhino1_7R4/js.jar:/Users/dixond/build-tools/closurecompiler/compiler.jar org.mozilla.javascript.tools.shell.Main /Users/dixond/build-tools/r.js/dist/r.js -o /Users/dixond/Sites/omm_mobile/js/build.js 我的build.js文件如下所示: ( { //appDir: "some/path/", baseUrl : ".", mainConfigFile : 'init.js', paths : { jquery : 'libs/jquery-1.8.3.min', backbone : 'libs/backbone.0.9.9', underscore : 'libs/underscore-1.4.3', json2 : 'libs/json2', jquerymobile : 'libs/jquery.mobile-1.2.0.min' }, packages : [], shim : { jquery : […]

在jQuery的新版本中,你最兴奋的是什么?

最新的jQuery版本已经发布了,jQuery v1.4。 你可以在这里阅读。 它可以让你做一些漂亮的东西,如: $("div.test").bind({ click: function(){ $(this).addClass("active"); }, mouseenter: function(){ $(this).addClass("inside"); }, mouseleave: function(){ $(this).removeClass("inside"); } }); 你最喜欢这个新版本的什么? 是什么让你走了“最后!”? 增加了一个赏金,获得更多的反馈意见,并接受答案

如何检测滚动方向

我想在某个元素上滚动时运行一个函数。 像这样的东西: $('div').scrollDown(function(){ alert('down') }); $('div').scrollUp(function(){ alert('up') }); 但是这些function不存在。 有没有解决这个问题? 他们似乎能够做到这一点。 不幸的是,源代码是压缩的,所以没有运气… 谢谢!!

jQuery切换文本?

有谁知道如何使用jQuery切换文本的锚文本标签的HTML文本。 我想要一个锚点,当点击时,文本在“显示背景”和“显示文本”以及淡入淡出另一个div之间交替。 这是我最好的猜测: $(function() { $("#show-background").click(function () { $("#content-area").animate({opacity: 'toggle'}, 'slow'); }); $("#show-background").toggle(function (){ $(this).text("Show Background") .stop(); }, function(){ $(this).text("Show Text") .stop(); }); }); 提前致谢。

为什么$ .each()不遍历每个项目?

我有以下标记包含与类indent 10 pre元素: ​<pre class="indent"></pre> <pre class="indent"></pre> <pre class="indent"></pre> <pre class="indent"></pre> <pre class="indent"></pre> <pre class="indent"></pre> <pre class="indent"></pre> <pre class="indent"></pre> <pre class="indent"></pre> <pre class="indent"></pre>​ 我使用下面的jQuery .each()函数遍历每个元素: ​$(function(){ $.each(".indent", function(index){ alert(index); }); });​ 我希望看到10个警报,但我只看到7 – 看小提琴 – 然而,这与预期的$(".indent").each() : $(function(){ $(".indent").each(function(index){ alert(index); }); });​ – 看小提琴 – 看看$.each()文档,我明白了一个区别: $ .each()函数不同于$(selector).each(),它用于遍历一个jQuery对象。 但我不明白为什么在这种情况下,它不遍历所有元素。 为什么发生这种情况?

如何轻松截断与JavaScript的数组?

Linq有一个方便的运算符方法Take()来返回任何实现了IEnumerable的元素的给定数量的元素。 jQuery中有什么类似的数组?

Colorbox在浏览器中的一致性

我已经安装了一个BigBlueButton服务器,它似乎工作正常,我可以访问BBB演示,也可以使用BBB API从PHP应用程序访问它。 当我尝试在使用iframe内容types的Colorbox jQuery插件创build的模式窗口中打开BBB客户端时,问题就开始了。 当我使用Firefox或谷歌浏览器,BBB客户端打开并且用户以主持人或与会者的身份join到会议中时,按预期工作。 问题1:当我在Internet Explorer或Safari中尝试这样做时,模式窗口不会打开BBB客户端。 相反,它将我带到我的BBB服务器上的BBB演示页面。 而且我似乎无法join模态窗口中的BBB演示。 但情况变得更糟。 我已经添加了debugging代码,以确保在模式窗口中使用的URL调用BBB客户端是正确的。 如果我只是将这个URL放到Internet Explorer或Safari的新选项卡中,那么BBB客户端将按预期打开。 在模式窗口中似乎没有这样做。 问题2:使用浏览器中另一个选项卡中的URL访问BBB客户端后,当我重新加载我的PHP应用程序并再次访问该页面时,BBB客户端现在将按照预期加载到使用Colorbox生成的模式窗口中。 (所以,BBB API生成的URL是正确的)。 )因此,出于某种原因,在浏览器选项卡中访问BBB客户端似乎有必要在IE或Safari允许我在Colorbox生成的模式窗口中访问它。 另外,请注意,一旦我在浏览器选项卡中访问了BBB客户端,我就可以访问模式窗口中的任何会议(不仅是我在浏览器选项卡中join的会议)。当我closures浏览器并重新启动它时,那么在模态窗口中访问BBB客户端将不再工作。 看来在Colorbox生成的模式窗口中,在IE和Safari中,BBB的所有组件都无法正常加载。 请帮忙。 我一直在试图找出几天没有运气。 有没有其他人有类似的问题,并有解决这些问题的指导? 非常感谢。

jQuery .data()如何工作?

我想在我的应用程序中使用.data() 。 这些例子是有帮助的,但是我不明白这些值存储在哪里。 我用Firebug检查网页,只要.data()将一个对象保存到一个dom元素,我看不到在Firebug(HTML或Dom选项卡)中的任何更改。 我试图看看jQuery的源码,但它是非常先进的我的Javascript知识,我迷失了自己。 所以问题是: jQuery.data()存储的值实际上在哪里? 我可以使用工具检查/定位/列出/debugging它们吗?