gpt4 book ai didi

jQuery Draggable 在拖动时获取负位置值

转载 作者:行者123 更新时间:2023-12-01 02:57:09 26 4
gpt4 key购买 nike

背景

我正在构建一个 meteor 应用程序,在其中保存相应 div 的对象位置和大小。当再次访问此页面时,我重新创建所有 div 并适本地重新填充对象大小和位置。我正在重新填充 div 和相应的对象,然后在 Template.[name].rendered 内调用 jQuery $().draggable() 。

    Template.pageEditor.rendered = function(){
var currentBook = Books.findOne({_id: Session.get("currentBookId")});
console.log(currentBook);
var currentPages = currentBook.pages;
console.log(currentPages);

for(i in currentPages){
var currentElements = currentPages[i].elements;
var currentPageNumber = currentPages[i].number;
console.log(currentElements);
$(".pageEditor").append("<div class='page' id='page"+currentPageNumber+"' style='background-image: url("+currentPages[i].scene+");'></div>");
for(j in currentElements){
var element = "<div class='pageElement character inPage' style='top:"+currentElements[j].top+"; left:"+currentElements[j].left+";'><img src='"+currentElements[j].src+"' width='"+currentElements[j].width+"' height='"+currentElements[j].height+"'/></div>";
console.log(element);
$("#page"+currentPageNumber).append(element);

//make element draggable
$(".pageElement.inPage").addClass("draggable");
$(".draggable.pageElement").draggable({
containment: "#page"+currentPageNumber,
scroll: false
});
}
}

问题

当我尝试拖动第一个 Div 中的对象时,位置(左、上)值变为某个负值。它只发生在我添加到 DOM 的第一个 Div 中的对象上。当我删除可拖动的包含参数时,它不再获得负位置,但也不再包含。

请帮我弄清楚如何处理这种奇怪的行为。谢谢

最佳答案

这个问题是针对我的问题的,但这里的一般问题是如何正确使用 jQuery UI Draggable 的包含。

解决方案

由于我的选择器对于我想要可拖动的所有元素都是相同的,因此它们也必须具有相同的包含参数。如果你想有不同的包含参数,你必须有唯一的选择器,否则你调用draggable()的第一个元素将覆盖它的包含参数,并且会发生这种奇怪的行为。

关于jQuery Draggable 在拖动时获取负位置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18523957/

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