gpt4 book ai didi

php - 仅在元素未被拖动时获取输出

转载 作者:行者123 更新时间:2023-11-28 03:01:17 24 4
gpt4 key购买 nike

如何更改下面的代码,以便在拖动元素时脚本将停止获取输出文件,直到该元素被释放为止?

$(document).ready(function() {
//$(".draggable").draggable();
$(".draggable").draggable({ containment: '#container', scroll: false });
$(".draggable").draggable({ stack: { group: '#container', min: 1 } });

$("*", document.body).click(function (e) {
var offset = $(this).offset();// get the offsets of the selected div
e.stopPropagation();
var theId = $(this).attr('id');// get the id of the selceted div
$("#result").text(this.tagName + " id=" + theId + " (" + offset.left + "," + offset.top +")");
//post x,y to php (and the id of the elemnt)
$.post("http://localhost/index.php", "id=" + theId + "&x=" + offset.left + "&y=" + offset.top);
});

var req = function () {
$.ajax({
url: "out.php",
cache: false,
success: function(html){
$("#stuff").empty().append(html);
var css_attr = html.split(",");
$('#1').css('left', css_attr[0] + 'px').css('top', css_attr[1] + 'px');
},
complete: function(){
req();
}
});
};
req();
});

注意:此脚本依赖于以下 JavaScript 源:

jquery.js
http://jqueryui.com/latest/ui/ui.core.js
http://jqueryui.com/latest/ui/ui.draggable.js
http://jqueryui.com/latest/ui/ui.droppable.js

任何帮助...谢谢。

最佳答案

Draggables 具有允许您将函数与拖动的开始和停止关联起来的选项。 (请参阅 http://api.jquery.com/ ,单击顶部的 jQuery UI 查看文档)。因此,您可以使用它,并且可能有一个全局 bool 值,该 bool 值在拖动开始时设置,并在拖动结束时取消设置。让您的 req() 函数检查此 bool 值,如果已设置则退出。像这样的东西:

var halt_request = 0;

$(".draggable").draggable({
containment: '#container',
scroll: false,
start: function(){ halt_request = 1; },
stop: function(){ halt_request = 0; }
});

...

var req = function () {
if (halt_request) {
sleep(10); // so you're not looping too quickly
req();
return;
}

$.ajax({
url: "out.php",
...

更好的是,不要让 req() 调用自身,而是使用 setTimeout。将超时设置为全局,并让启动/停止功能清除/设置超时。

关于php - 仅在元素未被拖动时获取输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/741269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com