gpt4 book ai didi

javascript - html5 3d, Canvas ,three.js

转载 作者:行者123 更新时间:2023-11-30 10:38:47 27 4
gpt4 key购买 nike

我有以下 HTML

<canvas id="container" name ="container" width="300" height="300"></canvas>

和JavaScript代码

var WIDTH = 400, HEIGHT = 300;
var VIEW_ANGLE = 90, ASPECT = WIDTH / HEIGHT, NEAR = 1, FAR = 300;

renderer = new THREE.CanvasRenderer();
renderer.setSize( WIDTH, HEIGHT );

camera = new THREE.PerspectiveCamera(VIEW_ANGLE,ASPECT,NEAR,FAR);
camera.position.z = 200;

scene = new THREE.Scene();
scene.add(camera);

renderer.render( scene, camera );

document.body.appendChild( renderer.domElement );
//$('#container').appendChild(renderer.domElement);

$('#container').width(WIDTH);
$('#container').height(HEIGHT);

function getSphere() {
var radius = 50, segments = 16, rings = 16;
var geometry = new THREE.SphereGeometry(radius,segments,rings);
var material = new THREE.MeshLambertMaterial({
color: 0xCC0000
});
return new THREE.Mesh(geometry, material);
}

document.body.appendChild( renderer.domElement ); 有效,

但如何使用 jQuery 写入 Canvas ?

$('#container').appendChild(renderer.domElement); 不起作用。

最佳答案

你可以试试这个:

$('#container').append(renderer.domElement);

$('#container')返回一个 jQuery 对象,其中 appendChild()是一种 JavaScript 方法,它适用于 JavaScript DOM 元素,但不适用于 jQuery 对象。

因此,要附加使用 jQuery 方法 .append()


作为您的 #containercanvas元素,它不支持 appendChild()方法。相反,您可以将其更改为 div喜欢:

<div id="container" name="container" style:"width:300;height:300"></div>

然后尝试:

document.getElementById('container').appendChild(renderer.domElement);

$('#container').append(renderer.domElement);

在这里,您不需要添加 <canvas>要么,因为renderer.domElementcanvas元素。例如,在 this link,查看源码显示没有<canvas>HTML .相反,它创建了一个 div通过 JavaScript,将其附加到 DOM最后附加 renderer.domElement (这是 <canvas> )到那个 div .

关于javascript - html5 3d, Canvas ,three.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12402093/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com