Canvas 当画布元素与另一个div重叠时(Safari 5.1/Mac 10.7.1)
我英语说得不太好。 我开发基于html5的web应用程序。 我已经测试过safari、chrome和firefox。 在safari 5.0之前都没有问题。 但升级safari 5.1后,只有safari 5.1、Mac 10.7.1出现此问题 当画布元素与另一个div重叠时,会出现此问题Canvas 当画布元素与另一个div重叠时(Safari 5.1/Mac 10.7.1),canvas,safari,dhtml,Canvas,Safari,Dhtml,我英语说得不太好。 我开发基于html5的web应用程序。 我已经测试过safari、chrome和firefox。 在safari 5.0之前都没有问题。 但升级safari 5.1后,只有safari 5.1、Mac 10.7.1出现此问题 当画布元素与另一个div重叠时,会出现此问题 红色的div有黄色的div作为孩子。如果红色div移动,则预期移动黄色div。 但不要移动黄色div only safari 5.1 mac 10.7.1。 当画布区域和子div重叠时会出现此问题。 不发
红色的div有黄色的div作为孩子。如果红色div移动,则预期移动黄色div。 但不要移动黄色div only safari 5.1 mac 10.7.1。 当画布区域和子div重叠时会出现此问题。 不发生,不重叠,不执行“canvas.getContext('2d')” 这只是野生动物园的臭虫吗? 有解决办法吗 多谢各位
var d = document.createElement ("div");
document.body.appendChild ( d );
var canvas = document.createElement ("canvas");
canvas.style.backgroundColor = "pink";
canvas.style.position = "absolute";
canvas.style.left = "0px";
canvas.style.top = "0px";
canvas.style.width = "100px";
canvas.style.height = "100px";
d.appendChild ( canvas );
var c2d = canvas.getContext("2d");
var d1 = document.createElement ("div");
d.appendChild ( d1 );
d1.style.left = "50px";
d1.style.top = "50px";
d1.style.width = "500px";
d1.style.height = "100px";
d1.style.position = "absolute";
d1.style.overflow = "hidden";
d1.style.backgroundColor = "gray";
var red = document.createElement ("div");
d1.appendChild ( red );
red.style.position = "absolute";
red.style.left = "10px";
red.style.top = "10px";
red.style.width = "100px";
red.style.height = "100px";
red.style.display = "none";
red.style.backgroundColor = "red";
var yellow = document.createElement ("div");
red.appendChild ( yellow );
yellow.style.position = "absolute";
yellow.style.left = "10px";
yellow.style.top = "10px";
yellow.style.width = "50px";
yellow.style.height = "50px";
yellow.style.backgroundColor = "yellow";
var but = document.createElement ("div");
d.appendChild ( but );
but.style.position = "absolute";
but.style.left = "200px";
but.style.top = "10px";
but.style.width = "100px";
but.style.height = "30px";
but.style.backgroundColor = "black";
but.innerHTML = "Click";
but.style.color = "white";
var flag = true ;
but.onmousedown = function ()
{
var gap = 5 ;
red.x = 10 ;
red.style.display = "block";
var fn = function ()
{
red.style.left = (red.x+gap)+"px";
red.x += gap ;
flag = !flag ;
if ( red.x > 1000 ) return ;
setTimeout( fn, 10 );
}
setTimeout( fn, 10 );
}