IEの「explorercanvas」で作ったCANVASがスクロール出来ない
HTML5の<canvas>要素を、擬似的に使えるようにした「explorercanvas」↓
http://code.google.com/p/explorercanvas/
ですが、これを使って<canvas>要素を<div>要素の中に配置したんですが、
親の<div>ボックスをスクロールしても、canvasがスクロールされません。
本物の<canvas>要素はちゃんと出来ます。(FirefoxとChromeで確認)
何か代替策ないでしょうか?(canvas内に再描画しろってか..)
(実験したコード)
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Canvas Test</title>
<style type="text/css">
</style>
<!--[if IE]><script src="/jslib/excanvas.js"></script><![endif]-->
</head>
<body>
<p>CANVAS</p>
<h2 style="text-align:center">Canvas TEST By HTML5 or IE(excanvas.js)</h2>
<div id="hoge" style="width;500px;overflow:scroll;border:solid 1px gray"></div>
<p>イメージ</p>
<div id="fuga" style="width;500px;overflow:scroll;border:solid 1px gray"></div>
<script type="text/javascript">
//CANVASの場合
var container1 = document.getElementById("hoge");
var canvas = document.createElement("canvas");
canvas.width = 2000;
canvas.height = 500;
container1.appendChild(canvas);
if (typeof(G_vmlCanvasManager) != 'undefined')
canvas = G_vmlCanvasManager.initElement(this.canvas);
var ctx = canvas.getContext('2d');
var img = new Image();
img.src = "/image/mio.jpg" + "?" + new Date().getTime();
img.onload = function() {
ctx.drawImage(img,0,0,2000,500);
}
container1.scrollLeft = 500;
//imgの場合
var container2 = document.getElementById("fuga");
var img2 = new Image();
img2.src = "/image/yui.jpg" + "?" + new Date().getTime();
img2.style.width="2000px";
img2.style.height="500px";
container2.appendChild(img2);
container2.scrollLeft = 500;
</script>
</body>
</html>
No.1ベストアンサー
- 回答日時:
<canvas>直下の<div>がposition:absoluteになっているので、styleを付けておくとどうでしょうか。
position:relativeにすることで、弊害がどの程度出るかわかりませんが。
(floatが使えなくなるとか、近くにある要素のmarginが消えるとか)
<!--[if ie]>
<style>
canvas{position: relative;}
</style>
<![endif]-->
ありがとうございます。
IEの開発者ツールで見ると確かにそうなってますね。
<style type="text/css">
canvas > div {position: relative !important;}
</style>
で、一応スクロール出来ました。
他の機能がどうなるか、試してみます。
目的は、CANVASを使ったスライドショー作成です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryで同じクラス名のものを...
-
アップロードファイルの種類に...
-
Javascript初心者|jQueryの.va...
-
ボタンを押すたびに交互に切り...
-
画像マウスオーバーで、checkb...
-
クリックでクリッカブルマップ...
-
デフォルト非表示にしたい。【t...
-
全部のサイコロをjavascriptで...
-
clear機能を失わずにファイルア...
-
jacascriptで作ったドロップダ...
-
jQueryでのドラッグアンドドロ...
-
MAX関数を使ってからLEFT JOIN...
-
javascriptで毎月替わる画像
-
Slick.jsのオプションrtlについて
-
jQueryで、リンクURLの一致を確...
-
フッター上部に謎の隙間
-
HTMLで条件分岐はできますか?
-
大分類・中分類・小分類
-
HTMLですCSSです 画像のように...
-
CSS <div>の入れ子が反映さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Colorboxがうまく設置できません
-
デフォルト非表示にしたい。【t...
-
「画像クリックで音声再生」を ...
-
Javascript初心者|jQueryの.va...
-
jQueryで同じクラス名のものを...
-
複数bxsliderをタブで切り替え...
-
画像の表示位置
-
embed要素のsrc属性の値を変更...
-
JQueryでオープニングアニメー...
-
jQueryでのドラッグアンドドロ...
-
全部のサイコロをjavascriptで...
-
JavaScriptでクレイアニメ。ち...
-
bxsliderで最初に縦に複数表示...
-
アップロードファイルの種類に...
-
clear機能を失わずにファイルア...
-
JavaScriptでの画像切り替えを...
-
マウスカーソルに合わせて画像...
-
交互に入れ替わる画像を複数配置
-
サイトに横スクロールのスライ...
-
サムネイルにカーソルを合わせ...
おすすめ情報