我有一个使用raphael.js的演示。它的代码非常简单,但是在Internet Explorer(9版以下)中查看时,我得到的Raphael画布为1000px x 1000px,我不知道为什么。我正在使用Raphael的1.5.2版本。代码如下:
的HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Raphael Test</title>
<link rel="stylesheet" type="text/css" href="test.css">
<link href="../shared/img/favicon.png" rel="shortcut icon">
</head>
<body>
<div id="graph"></div>
<script src="../shared/js/raphael/raphael-min.js" type="text/javascript"> </script>
<script src="test.js" type="text/javascript"> </script>
</body>
</html>
的CSS
/* Graph */
#graph { padding: 5px; width: 477px; height: 299; }
JS
var holder = document.getElementById('graph')
, width = holder.scrollWidth
, height = Math.round(width * 0.5625) + 25
, p = Raphael(10, 50, width, height)
, c = p.circle(p.width - 50, p.height - 50, 50);
alert(p.width + ' & ' + p.height);
我在Raphael's Google group中发现了一个具有相同问题但没有解决方案的讨论。
最佳答案
我有同样的问题,并使用
var width = paper.canvas.clientWidth ? paper.canvas.clientWidth : paper.width;
var height = paper.canvas.clientHeight ? paper.canvas.clientHeight : paper.height;
而不是paper.width和paper.height解决了它,因为它的版本早于版本9和所有其他浏览器。
关于javascript - 为什么Raphael.JS创建尺寸为1000x1000的纸张?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4653429/