【问题标题】:Raphael js unable to create canvas by referencing divRaphael js 无法通过引用 div 创建画布
【发布时间】:2013-02-28 08:21:04
【问题描述】:

我这几天一直在努力让它工作。最后我只是通过输入参数手动创建了画布,但现在我实际上需要将它连接到一个div。

问题是,在尝试基于 div 创建画布时,我总是从 Raphael JS 收到相同的错误:

TypeError: b is undefined

这是一个快速的 jsFiddle,但您会在 Firebug 中看到相同的结果(虽然它显示了不同的库名称,但它是 rapheal 引起的)

http://jsfiddle.net/GXXuD/3/

请帮忙!它快把我逼疯了。

【问题讨论】:

  • 至少在您的小提琴中,您的 div 的 id 拼写错误
  • 哦,是的!对不起,我会更新。我认为我几乎找到了解决方案,但无论如何我都会继续提出这个问题以指出问题所在。我完成后会回答它
  • 这一切都在您的脑海中,请参阅an updated fiddle - 纸张创建得很好。只更改了论文的钩子以保持一致,并更正了有缺陷的 CSS 属性(background_colorbackground-color)。

标签: javascript canvas raphael


【解决方案1】:

我发现这样做的唯一方法与文档无关,我只需要破解它。如果其他人遇到让 Rapheal js 将画布/纸张分配给 div 的问题,这种方法可以正常工作。

JS

var new_width = $('#map img').width();
var new_height = $('#map img').height();

$('#map').css({'height':new_height, 'width':new_width});
var paper = new Raphael("canvas", new_width, new_height);

HTML

<div id='map'>
    <div id="canvas"></div>
    <img src="path/to/image"/>
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2018-01-26
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    相关资源
    最近更新 更多