Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 悬停效果等待ajax调用_Javascript_Jquery - Fatal编程技术网

Javascript 悬停效果等待ajax调用

Javascript 悬停效果等待ajax调用,javascript,jquery,Javascript,Jquery,我在jQuery中遇到了一个问题:我在一个div上有一个mouseOver和mouseOut效果,用于扩展和折叠addtocart按钮,但我需要一个功能,如果单击div内的addtocart按钮,那么我需要停止mouseOut效果并保持该div扩展,直到该项收到ajax调用的响应,将其添加到basket中,一旦ajax调用完成,则只应用mouseout效果 提前谢谢。以下是我到目前为止的情况: $'.productitem'.mouseoverfunction{ $this.find'.pro

我在jQuery中遇到了一个问题:我在一个div上有一个mouseOver和mouseOut效果,用于扩展和折叠addtocart按钮,但我需要一个功能,如果单击div内的addtocart按钮,那么我需要停止mouseOut效果并保持该div扩展,直到该项收到ajax调用的响应,将其添加到basket中,一旦ajax调用完成,则只应用mouseout效果

提前谢谢。以下是我到目前为止的情况:

$'.productitem'.mouseoverfunction{ $this.find'.productparams:first'.stop.slideUp; $this.find'.addtocart:first'.stop.fadeTo100,1; } .mouseoutfunction{ $this.find'.productparams:first'.stop.slideDown; $this.find'.addtocart:first'.stop.fadeTo100,0; }; //按钮点击代码 函数_addBtnClickevent{ var ctrl=$this.parent'.productitem'; ctrl.取消绑定'mouseout'; //这就叫ajax _addToCart.callthis; } 如果单击div中的addtocart按钮,那么我需要停止mouseout效果并保持该div扩展,直到该项收到ajax调用的响应

AJAX调用和jQuery需要协调动画的开始和停止。下面是一个显示基本交互的片段

功能鼠标盖{ $this.find'.productparams:first'.stop.slideUp; $this.find'.addtocart:first'.stop.fadeTo100,1; } 功能鼠标器{ $this.find'.productparams:first'.stop.slideDown; $this.find'.addtocart:first'.stop.fadeTo100,0; } 功能切换显示{ 如果显示{ $'.productitem'.mouseovermouseOver.mouseoutmouseoutmouseout; }否则{ $'.productitem'.off'mouseover',mouseover.off'mouseout',mouseout; } } $.addtocart.click\u addbtn单击; //按钮点击代码 函数_addBtnClick{ var ctrl=$this.parent.get0; //停止动画 切换错误; //设置淡出 $'.addtocart'.delay3000.fadeTo100,0; //这就叫ajax _addToCartctrl; } 函数_addToCartitem{ //模拟ajax等待 setTimeoutfunction{ var title=$item.findspan.text; console.logtitle+添加到购物车; //启动动画 切换为真; }, 6000; } //设置 $document.find'.addtocart'.stop.fadeTo100,0; 切换为真; 项目一 颜色 添加到购物车 项目二 颜色 添加到购物车
@kenef:现在格式化了。@TheUnKnown:我认为这是一个简单的html,所以我提供了屏幕截图。productitem类是external div,addtocart类是button类。你只需要像这样使用承诺回调。这是基本的ajaxChristopher Taleck-看起来非常接近,唯一的问题是当我单击“添加到购物车”按钮并悬停时,按钮在3秒钟后不会消失。我必须再次在上面悬停。我调整了片段以处理淡出。希望这段代码能让您对如何处理各种事件有足够的了解。你只要把它摆弄一下,直到你满意为止。如果这有帮助,请接受。太棒了!这正是我想要做的。谢谢你的帮助!