jQuery:在3个类之间切换(最初)

我在SO上看过几篇post,但它们在function和结构方面都太具体了,而我正在寻找的东西是我或任何人可以在任何地方使用的更普遍的东西。 我只需要一个按钮,点击它可以在3个类之间循环。 但是如果出现必须循环通过4,5个或更多类的情况,则可以轻松地缩放脚本。 到目前为止,我能够在两个class级之间“循环”,这基本上比骑车更“切换”,所以我有: HTML: Toggle classes … jQuery的: $(‘.toggle’).click(function () { $(‘div’).toggleClass(‘class1 class2’); }); 这是一个简单的小提琴 。 现在,你会(我,我)认为在方法中添加第三个类会起作用,但它不会: $(‘div’).toggleClass(‘class1 class2 class3’); 发生的事情是切换开始只发生在class1和class3之间。 所以这就是我最初的问题: 如何让Toggle按钮按顺序循环通过3个类? 然后:如果有人需要循环到4,5或更多课程怎么办?

如何在jQuery中解析XML跨域?

从其他服务器/域解析XML时,如何解决跨域问题? 有人可以给我一个例子吗? 该示例不必仅限于jQuery,因为JavaScript也足够了。

JSON:如何进行跨域JSON调用

我尝试在本地网络中运行以下jquery代码。 $.ajax({ type: “GET”, url: “http://SomeSite/MyUrl/”, cache: false, data: { … }, dataType: “json”, error: function (xhr, status, error) { … }, success: function (json) { … }); 一切正常,直到“SomeSite”是localhost。 我的意思是从下载页面的同一台服务器。 但是当’SomeSite’是另一个(不是localhost)网站时,它看起来像请求挂起。 不是“错误”,也不是“成功”回调函数。 如何使此代码有效? 先感谢您!

等待来自调用函数的jquery ajax回调

我已经回顾了很多这类问题的答案,现在我对最好的方法很困惑。 鉴于最新的jquery,我想 调用ajax函数 做ajax处理(成功或错误)//工作正常 成功或错误时将状态返回给调用函数以进行进一步处理 在调用函数(doAjax)中,如何等待回调然后完成成功或错误的处理(在这种情况下,它成功清除表单,出错时保持原样) 感谢任何建议, 艺术[编辑]你们发现有一个错字,打电话应该是doAnAjax不做阿贾克斯 $(function () { doAnAjax(Url, data, function (myRtn) { if (myRtn == “success”) { resetForm($(‘#myForm’)); resetForm($(‘form[name=addChlGrp]’)); } else { $(‘.rtnMsg’).html(“Opps! Ajax Error”); } }); }); function doAnAjax(newUrl, data) { $.ajax({ url: newUrl, async: true, dataType: ‘html’, beforeSend: function () { $(‘.rtnMsg’).html(“”); }, type: “GET”, data: data, cache: false, […]

如何检测何时已加载iframe

似乎$(‘#someIframe’).load(function(){…})如果在iframe完成加载后附加,则不会触发。 那是对的吗? 我真正喜欢的是拥有一个在加载iframe时或之后总是被调用一次的函数。 为了更清楚,这里有两种情况: Iframe尚未加载 : 加载后运行回调函数。 iframe已经加载 :立即运行回调。 我怎样才能做到这一点?

如何取消jquery.load()?

当load()在5秒内没有返回时,我想取消.load()操作。 如果是这样,我会显示一条错误消息,例如’抱歉,没有图片加载’。 我拥有的是…… …超时处理: jQuery.fn.idle = function(time, postFunction){ var i = $(this); i.queue(function(){ setTimeout(function(){ i.dequeue(); postFunction(); }, time); }); return $(this); }; …初始化错误消息超时: var hasImage = false; $(‘#errorMessage’) .idle(5000, function() { if(!hasImage) { // 1. cancel .load() // 2. show error message } }); …图像加载: $(‘#myImage’) .attr(‘src’, ‘/url/anypath/image.png’) .load(function(){ hasImage = true; // do something… […]

如何在跨域(CORS)XMLHttpRequest中发送自定义标头?

我正在尝试发送一个JSON有效负载的CORS请求。 我控制服务器和客户端。 我在这里关注: https : //developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redlocale = en-US&redirectslug = HTTP_access_control 服务器有一个自定义标头,必须与每个请求一起发送。 因此,此自定义标头使请求“不简单”,因此请求必须使用OPTIONS请求进行预检。 我可以看到jquery发出OPTIONS请求,但它不会发送自定义标头。 方法我尝试过: 使用beforeSend选项: http : //api.jquery.com/jQuery.ajax/ 使用ajax预filter: http : //api.jquery.com/jQuery.ajaxPrefilter/ 在这两种情况下,浏览器都不会发送自定义标头。 我正在使用FF 17.0.1,jquery 1.8.3。

在php中使用json_encode时删除数组索引引用

我使用jQuery datepicker创建了一个小应用程序。 我从json文件设置不可用的日期,如下所示: {“dates”:[“2013-12-11″,”2013-12-10″,”2013-12-07″,”2013-12-04”]}. 我想检查一下给定的日期是否已经在此列表中,如果是,则将其删除。 我当前的代码如下所示: if(isset($_GET[‘date’])) //the date given { if($_GET[‘roomType’]==2) { $myFile = “bookedDates2.json”; $date = $_GET[‘date’]; if(file_exists($myFile)) { $arr = json_decode(file_get_contents($myFile),true); if (!in_array($date, $arr[‘dates’])) { $arr[‘dates’][] = $_GET[‘date’]; //adds the date into the file if it is not there already } else { foreach ($arr[‘dates’] as $key => $value) { if (in_array($date, […]

jqGrid自动filter突出显示搜索结果

我想要帮助突出显示jqgrid行的数据部分以及它们何时匹配。 我的jqGrid标记: ‘ 和我的jqGrid代码: var envVars=[]; //xml is a xml response sent from server $(xml).children(‘product’).each(function(){ $(this).children(‘envvars’).each(function(){ $(this).children(‘variable’).each(function(){ var row={}; isPresent=true; row.name=$(this).attr(‘name’); row.value=$(this).attr(‘value’); envVars.push(row); }); }); }); jQuery(“#tblEnvvars”).jqGrid({ datatype: “local”, data: envVars, colNames:[‘Name’,’Value’], colModel:[ {name:’name’,index:’name’, align:”left”}, {name:’value’,index:’value’, align:”left”} ], pager : ‘#EnvvarsGridpager’, rowNum:10, rowList:[10,50,100], scrollOffset:0, height: ‘auto’, autowidth:true, viewrecords: true, gridview: true }); jQuery(“#tblEnvvars”).setGridParam({rowNum:10}).trigger(“reloadGrid”); jQuery(“#tblEnvvars”).jqGrid(‘filterToolbar’,{stringResult: true, […]

从JavaScript重新启动动画GIF而不重新加载图像

我正在使用动画GIF创建动画幻灯片。 我正在从一个动画到另一个动画交叉淡入淡出。 问题是:我发现确保GIF从第一帧开始动画的唯一方法是每次显示它时重新加载它。 每个GIF大约200KB左右,这对于连续幻灯片放映而言带宽太多了。 这是我目前的代码。 img和nextimg是 标签,每个标签包含一个 。 nextimg_img是与要显示的下一个图像对应的标记。 var tmp = nextimg_img.attr(‘src’); nextimg_img.attr(‘src’, ”); setTimeout(function() { nextimg_img.attr(‘src’, tmp); }, 0); img.fadeOut(‘slow’); nextimg.fadeIn(‘slow’); 我们的想法是将下一个图像的src属性设置为” ,然后将其设置回要显示的GIF源。 这样做 – 它从头开始重新启动动画 – 但是每次显示GIF时都会重新加载。 编辑:这是一个循环幻灯片,我试图避免在他们显示第二/第三/后续时间时从网上重新加载GIF。