2011-12-04 78 views
0

我想繪製一個div,這是一個droppable元素。在div中放置元素與jQuery

更確切地說,我使用div元素中的圖像繪製箭頭。 你可以在這裏看到: http://ekstrakt.selfip.com/coach/?cmp=articleedit

我想我能想到的用javascript繪圖其他各方面,甚至用於繪製做了一些圖書館,但這是它很適合我的方式(例如draw2d.js。)最。

現在,問題是,我把他們放在一個900px寬的div。當添加的div/images的總寬度超過900px時,瀏覽器將它們放置在錯誤的地方。代碼

部分:

el=document.createElement("div"); 
eli=document.createElement("img"); 
$(eli).attr("src", "docs/temp/"+data); 
$(el).append(eli); 
$(el).draggable(); 
$(el).draggable('destroy'); 
$(el).css("position", "relative"); 
$("#frame").append(el); 
$(el).css("float", "left"); 
$(el).css("width", Math.abs(dot1.x-dot2.x)); 
$(el).css("height", Math.abs(dot1.y-dot2.y)); 
$(el).css("left", dot1.x-negativeDistance); 
var tempPos=$(el).position(); 
console.log("position| "+tempPos.left+":"+tempPos.top); 
$(el).css("top", dot1.y); 
negativeDistance=negativeDistance+Math.abs(dot1.x-dot2.x); 
if(negativeDistance>900){ 
    negativeDistance=negativeDistance-900; 
} 

當你看到的例子,你會看到這個問題。只需在不同的地方點擊兩次綠地。

或者,如果有人有一個解決方案繪製一個div,請分享。

回答

0

你有沒有考慮內部定位div#frame絕對繪製的div而不是相對?您可能需要稍微修改代碼中的數學運算,但您應該能夠通過這種方式避免相對定位的浮動元素影響彼此在父div中的定位(這似乎是您的問題的根源)。只是一個想法。

+0

感謝這個想法,我以前試圖用絕對定位來設置它們,但是項目處於不同的階段,並且當時並不適合。而我忘了再試一次,只是滑了我的腦海:) – ekstrakt