2
不幸的是,jsfiddle今天似乎很糟糕,所以我會盡我所能來描述我所追求的。參考畫布位置的問題
我確實有兩個div是固定大小(100px乘100px)。這些是jQuery UI可拖動的。
標記看起來像這樣:
<body>
<div class="touch" id="front"><img src="front.png" /></div>
<div class="touch" id="back"><img src="back.png" /></div>
<canvas id="connect"></canvas>
</body>
和CSS看起來像這樣:
.touch{
width: 100px;
height: 100px;
background-color: red;
}
#connect{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
現在我試圖用畫布繪製通過執行以下兩個div連接線對drag
:
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo($('#front').offset().left,$('#front').offset().top);
ctx.lineTo($('#back').offset().left,$('#back').offset().top);
ctx.stroke();
這是作爲一條線繪製accordin g到div
s的變動,但它完全超出比例,即起始點和終點似乎被乘以某個因子。然而,當我通過硬編碼值繪製一個元素時,它似乎工作正常,當我記錄這些值時,它們似乎是合理的。任何人都可以告訴我我在這裏做錯了什麼?
我結束了使用'canvas.width = document.width; canvas.height = document.height;'完美的作品。感謝您的解釋! – m90 2012-02-10 08:11:25
只是一個簡單的說明,它可以在用戶調整窗口大小之前一直工作,但如果用戶安裝了像StumbleUpon工具欄之類的東西,就會被破壞,因爲該欄爲''元素添加了一個空白。雖然這很少見。 – 2012-02-10 14:31:27
有趣的提示,但因爲這將用於基於Phonegap的Android應用程序鎖定方向,在這種情況下可能陷阱的數量大大減少。幸運的我。謝謝。 – m90 2012-02-10 17:37:10