2011-03-16 36 views
2

我能夠旋轉圖像克隆,但它重新定位在div的一側。是否有可能顯示在div內旋轉圖像。這裏是jsfiddle的鏈接:http://jsfiddle.net/T6nn5/5/ 但旋轉插件不包括在這裏,所以,圖像將不會旋轉。拖動和旋轉容器內的圖像

+0

您是否添加了該插件的'css'? – 2011-03-16 05:00:42

+0

是的,我添加了插件的所有CSS。如果你想你可以檢查我的網站[這裏](http://ushatech.com/customer/Palletized_Material_Handling_Conveyors/build.php?num1=50&num2=50) – Moumita 2011-03-16 05:07:21

+0

我沒有看到任何圖像旋轉布萊恩的方式在哪裏呢?我的意思是在網站 – 2011-03-16 05:17:49

回答

3

我認爲問題在於頁面已設置,因此用戶將圖像克隆拖放到網格上。當你點擊圖片時,旋轉插件被調用並用<span><canvas><canvas></span>(至少在Firefox中)替換該圖片。這是拖放功能停止工作的原因。

圖像使用「絕對」定位進行定位,並且畫布使用「相對」定位進行定位,這就是爲什麼它最終位於網格下方。

我還沒有測試過這個,但我認爲解決方案是將圖像打包成一個<span>,其中應用了拖放功能。我不知道旋轉後的畫布是否會再次被包裹在相對定位的<span>中。所以即使在這個建議的變化之後,仍然可能存在定位問題。

在一個側面說明,在畫布上點擊時,螢火報告這個錯誤:

$(this).rotate({angle: test, containment: "working-area"}).parent is not a function [Break On This Error] Failed to load source for: http://usha...ng_Conveyors/build.php?num1=50&num2=50 build....num2=50 (line 624)


更新:在這裏你去,updated demo和代碼:

HTML

<li> 
    <span class="draggable"> 
     <img class="rotatable" src="http://www.bootheyankees.com/images/GoogleIcon.png"/> 
    </span> 
</li> 

腳本

$(document).ready(function() { 
    $('#dhtmlgoodies_xpPane .draggable').draggable({ 
     scope: "draggable", 
     helper: "clone" 
    }); 
    $('#working-area .rotatable').live('click', function(event) { 
     test = test + 90; 
     $(this).rotate({ 
      angle: test, 
      containment: "working-area" 
     }); 
    }); 
    $("#working-area").droppable({ 
     activeClass: "ui-state-default", 
     hoverClass: "ui-state-hover", 
     accept: "#dhtmlgoodies_xpPane li .draggable", 
     drop: function(event, ui) { 
      $(this).append($(ui.helper).clone().draggable()); 

     }, 
     scope: "draggable" 
    }).mousemove(function(e) { 
     var x = e.pageX - this.offsetLeft; 
     var y = e.pageY - this.offsetTop; 
     $('#status2').html("X = " + x + ', ' + "Y = " + y); 
    }); 
}); 
+0

@fudgey謝謝你的回覆。我不明白該怎麼做。你可以請參考一些代碼。這裏是jsfiddle http://jsfiddle.net/T6nn5/5/的鏈接,雖然這裏的圖像不會旋轉,因爲一些腳本不會包含在這裏。我嘗試了很多時間,但沒有找到任何解決方案。我會等待你的回覆。 – Moumita 2011-03-16 06:02:19

+0

好的,回答更新了工作演示:) – Mottie 2011-03-16 06:22:11

+0

錯誤來自'.rotate()'後面的.draggable()'鏈接......我有一種感覺,它不會返回對象,這就是爲什麼錯誤突然出現向上。 – Mottie 2011-03-16 06:25:08

0

當您拖動圖片時,您點擊該圖片後的樣式爲position: absolute; left: 745.5px; top: 788px;,樣式爲position: relative; left: -0.310859px; top: -43.3109px;。我不知道你的插件做什麼,但我認爲你應該寫你自己的jQuery代碼。這當然會產生一個錯誤。

+0

我也發現同樣的問題,但不知道如何解決問題。我只是簡單地改變它的工作後下載代碼。我是jquery的新手,所以請給我一些解決方案。 – Moumita 2011-03-16 06:13:12

+0

@Moumita有很多插件,我們不知道他們在代碼中得到了什麼。我自己不知道如何旋轉圖像(沒有插件)。我相信它會使用CSS(我beleive)..http://tips4php.net/2010/10/rotate-images-and-text-with-css-3/和http://stackoverflow.com/questions/ 4348884 /如何旋轉一個對象 - 順時針...但是請收集CSS,然後如果可以的話,否則你可以提醒我。 – 2011-03-16 06:18:46

+0

感謝您的回覆。我會嘗試與這些css.and我會敲你,如果任何問題將發生。請給予一些答覆 – Moumita 2011-03-16 06:21:08