jquery で画像ノードを作成し、元の画像の上に大きなバージョンとして表示したいと考えています。
コピーした画像は Chrome と Safari では表示されませんが、Internet Explorer と Firefox では機能します。コンソールはエラーを報告しません。インスペクターは、すべての適切な css プロパティを使用して複製された画像要素を表示しますが、要素のサイズは 0 x 0 ピクセルです。
サイズが 0x0 であることを示唆する CSS ルールは見当たりません。
これは状況を示すスクリーンショットです ( http://i.stack.imgur.com/AhiPf.png )
ここに動作のデモへのリンクがあります。firefox と chrome で画像をクリックしてみてください: download.toastlab.ch/segtest
編集:
要素を作成する Javascript コード:
$('.streamcontent').on('click', 'img.clickable', function () {
var img = new Image();
img.src = $(this).attr('src');
var w = img.width,
h = img.height;
img = $(img).addClass('bigger');
var tw = $(this).width();
var th = $(this).height();
var pos = $(this).position();
var center = {
top: pos.top + th / 2,
left: pos.left + tw / 2
};
img.css({
position: 'absolute',
top: pos.top,
left: pos.left,
width: tw,
height: th,
opacity: 0
}).animate({
top: center.top - h / 2,
left: center.left - w / 2,
height: h,
width: w,
opacity: 1
}, 300, function () {
$('body').one('click', function () {
img.animate({
top: pos.top,
left: pos.left,
width: tw,
height: th,
opacity: 0
}, function () {
img.remove();
});
});
});
$(this).parent().append(img);
});