Javascript 具有样式属性的jQuery克隆元素
我想创造一段乏味的历史。当Dragable停止时,它应该将整个DOM推到Javascript 具有样式属性的jQuery克隆元素,javascript,jquery,clone,Javascript,Jquery,Clone,我想创造一段乏味的历史。当Dragable停止时,它应该将整个DOM推到let history=[],然后每当有人单击按钮时,最后一个DOM应该被带回来,但它不工作。当我试图恢复以前的DOM时,它无法正确克隆。它看起来像style=“top:,left:“属性未克隆。有人能帮忙吗 let history=[]; 函数pushHistory(){ history.push($('.page')。每个(函数(){ 返回$(this.clone)(true,true) })) } 函数backHis
let history=[]
,然后每当有人单击按钮时,最后一个DOM应该被带回来,但它不工作。当我试图恢复以前的DOM时,它无法正确克隆。它看起来像style=“top:,left:“
属性未克隆。有人能帮忙吗
let history=[];
函数pushHistory(){
history.push($('.page')。每个(函数(){
返回$(this.clone)(true,true)
}))
}
函数backHistory(){
pop();
$(history[history.length-1])。每个(函数(){
$(this.detach().appendTo($('.outer'))
})
}
$(“.page”).draggable({
停止:功能(事件、用户界面){
pushHistory();
}
})
$('button')。在('click',function()上{
回溯历史();
})
.page{
显示:内联块;
背景色:红色;
宽度:50px;
高度:50px;
位置:相对位置;
颜色:白色;
字号:3em;
文本对齐:居中;
线高:50px;
}
.回来{
位置:绝对位置;
顶部:0px;
右:0px;
}
1.
2.
3.
4.
5.
6.
返回
我对JavaScript部分做了如下小调整,效果良好:
let history = [];
function pushHistory(el) {
history.push({
index: el.index(),
offset: el.offset()
})
}
function backHistory() {
let el = history[history.length - 1];
if (el) {
$('.outer').find('.page').eq(el.index).offset(el.offset);
history.pop();
}
}
$('.page').draggable({
start: function() {
pushHistory($(this))
}
})
$('button').on('click', function() {
backHistory();
})
基本上,它现在在可拖动的“开始”事件上保存元素的索引和偏移量。然后,回溯历史仅作用于最后一个拖动的元素
它在这里运行:您使用的是.each()
,它返回原始的$('.page')
,而不是您需要使用的.map()