2012-09-17 74 views
1

我有一個隱藏在某種意義上的div,然後當您單擊一個鏈接時,它會淡入,另一個div會將網站的其餘部分(燈箱效果)黑掉。我在這個div中有一個拖放方面。如果你移動一個物體,然後關閉div(實質上是隱藏它並重新顯示網站的其餘部分),然後重新打開它,方塊已經移動而不是重置...html 5重置拖放位置

是否有「重置」移動元素的位置的功能或方法我可以調用關閉按鈕?我搜索了四周,發現絕對沒有涉及到重置拖放事件的位置。

更新,我得到它的工作雖然這是做事的一種有效方式...: FIX:

function showpanel(){ 
    $("#lightbox, #lightbox-panel").fadeIn(300); 
} 
function hidepanel(){ 
    $("#lightbox, #lightbox-panel").fadeOut(300); 
    $("#lightbox-panel").load("main.php #lightbox-panel"); 
} 

免打擾功能(從W3Schools的):

function allowDrop(ev) 
{ 
ev.preventDefault(); 
} 

function drag(ev) 
{ 
ev.dataTransfer.setData("Text",ev.target.id); 
} 

function drop(ev) 
{ 
ev.preventDefault(); 
var data=ev.dataTransfer.getData("Text"); 
ev.target.appendChild(document.getElementById(data)); 
var itemVariable = document.getElementById(data).id.split('-'); 
} 
+0

更多信息請。顯示你的代碼。此外,您已將此標記爲HTML,DRAG,RESET和DROP ..這是使用JavaScript還是JS庫(如jQuery或MooTools)?或者就此而言,還有其他一些面向對象的編程語言。 –

+0

這是HTML5/jQuery,我找到了一個解決方案...雖然不確定這是最有效的方法。有問題的更新。 – Jish

回答

0

你可以將原始位置存儲在變量中並手動重置位置。

//original position is 0,0 
var x-position = '0px'; 
var y-position = '0px'; 

,然後(我假設你正在使用JQuery?)在你的復位功能

$('#draggable_object').css('left', x-position).css('top', y-position); 
+0

嗯不是一個可怕的想法,但如果位置可以根據div的高度/寬度的百分比而改變。 – Jish

+0

只需在頁面加載後用javascript計算原始位置即可。這樣你就不必硬編碼任何東西。 – AlexMA