2011-12-11 6 views
2

HTML5キャンバス要素で動的な背景を作成することが可能かどうかについて、さまざまな証拠があります。ここでは正常に行われているようだ男だ:キャンバスの背景がアンカーを解除不可にする

http://radikalfx.com/files/anibg/

私は背景として私のcanvas要素を首尾よく配置されているが、それはunclickable私のリンクをレンダリングしています。ここでは状況があります:

HTML:

<div id='container'> 

... other header stuff ... 
    <canvas id='background'> 
    </canvas> 

    <!-- Can't touch this *MC Hammer Shuffle* --> 
    <a href='#'>test</a> 
... footer stuff ... 

</div> 

CSS:

/* Everything's z-index is now 1 */ 
#container 
{ 
position: relative; 
min-height:100%; 
width:100%; 
z-index:1; 
} 

/* Make the canvas z-index 0 */ 
#background 
{ 
position: absolute; 
top: 0; 
width:100%; 
height:100%; 
z-index: 0; 
} 

はJavaScript:

// Onload Draw an ellipse 
// I've got jCanvas installed (jQuery plugin) to use the drawArc() method 
// This bit can be replaced with whatever test code you want. 
function load() 
{ 
init_canvas(); 
$("canvas").drawArc({ 
     fillStyle: "black", 
     x: 100, y: 100, 
      radius: 50 
    }); 
} 

// Make the canvas the appropriate size 
function init_canvas() 
{ 
canvas = document.getElementById("background"); 
    canvas.width = document.width; 
    canvas.height = document.height; 
    canvasW = canvas.width; 
    canvasH = canvas.height; 
} 

乾杯!

+0

エラーが発生します。*未知の型エラー:オブジェクト[オブジェクト]にはメソッド 'drawArc' *がありません。 '$()'はjQueryオブジェクトを返します(jQueryを使用している場合)。 –

+0

キャンバスを背景に設定する必要がある特定の方法はありますか?私はそれをやっているように感じています。適切な実装ではなく、回避策です。 – PandemoniumSyndicate

+0

@FelixKling jCanvasがインストールされていますか?これは私が与えたサンプルのものを使うのに必要なAPIの一部です。投稿を編集して – PandemoniumSyndicate

答えて

4

あなたのCSSで#containerを使用して、他のすべてにz-indexを1つ与えますが、ページには#containerという要素を入れないでください。

を次のようにあなたのHTMLを変更し

、それが期待どおりに動作します:

<canvas id='background'></canvas> 
<div id="container"> 
    <a href='#'>test</a> 
</div> 

JSFiddle:http://jsfiddle.net/ht6c8/position: absolute持つすべての要素であっても、他の場合、他の置かれていない項目の上に配置されている

+0

私は投稿を編集するつもりですが、私はそれがコンテナdivをコード内のどこかに持つことを暗示していると考えました。私はそれを明確にします。私の悪い – PandemoniumSyndicate

+0

さて、その場合は、 '#background'が'#container'の中に置かれていないことを確認してください。 –

+0

ああ、私はそのショットを与えるでしょう! – PandemoniumSyndicate

0

要素はDOMの後に配置されます。したがって、アンカー要素にはposition: relativeを設定することができます

関連する問題