javascript - 如何仅在 div 上应用 javascript
问题描述
我只想在一个 DIV 中应用一个脚本(来自 javascript)(根本不是页面)。可能吗?(我认为如果我们修改 div 的高度,它会部分起作用,但宽度不受更改影响(我谈论的是 div),这是一个调整大小的问题)这是我的脚本:
var camera2, scene2;
function init2() {
var container, stats;
container = document.createElement( 'div' );
document.body.appendChild( container );
camera2 = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 2000 );
camera2.position.z = 250;
scene2 = new THREE.Scene();
var ambientLight = new THREE.AmbientLight( 0xcccccc, 0.4 );
scene2.add( ambientLight );
var pointLight = new THREE.PointLight( 0xffffff, 0.8 );
camera2.add( pointLight );
scene2.add( camera2 );
var loader = new THREE.OBJLoader();
var mtlLoader = new THREE.MTLLoader();
mtlLoader.load( "3d_models/OBJ/ano/ano.mtl", function( materials ) {
materials.preload();
console.log(materials);
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials( materials );
objLoader.load("3d_models/OBJ/ano/ano.obj", function ( object ) {
console.log(object.children[0])
scene2.add( object );
onRenderFcts.push(function(){
object.rotation.y += 0.03;
})
});
},
function ( xhr ) {
console.log( 'OBJ ' + ( xhr.loaded / xhr.total * 100 ) + '% loaded' );
},
function ( error ) {
console.log(error);
});
renderer = new THREE.WebGLRenderer();
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
container.appendChild( renderer.domElement );
}
是否可以改变背景,它实际上是一个黑色的背景,我只想要一个透明的背景。编辑:这是截图:金色的 rign 是我的 3d 对象,绿色方块是我的 div 图像 EDIT2:为了澄清问题,我有一个页面,页面上有一个 div 只想应用 three.js 函数仅在此 div 上。所以最后,我只能在 div 中看到我的金戒指
解决方案
我通过摸索获得了“正确”的结果。这是我修改的代码:
container = document.createElement( 'div' );
var att = document.createAttribute("class");
att.value = "test";
container.setAttributeNode(att);
document.body.appendChild( container );
那么这是css中的测试和画布类:
.test{
width:100px;
height:100px;
position: fixed;
top: 50%;
left: 50%;
margin-top: -100px;
margin-left: -100px;
}
canvas{
width:500px;
height:500px;
margin-top: -275px;
margin-left: -630px;
}
但现在还有另一个问题。如果我尝试在更复杂的代码上调用脚本,它就不起作用!控制台没有注意到错误。这是描述情况的图片:img 所以金戒指应该在标记上(左边的标志),在黑色区域通常有金戒指正常旋转。黑区也可以通过我第一篇文章的 com 中的提示进行修复。
推荐阅读
- c# - 网站如何理解何时应该显示验证码?
- mongodb - mongodb 聚合并使用 $group 来求和并取出所有数据
- python - LSTM,Keras:推理模型应该有多少层?
- c# - 大字节数组 - 在字节数组中存储长度有什么好处?
- java - postgres序列不递增
- postgresql - 将 postgresql 部署到 kubenetes
- javascript - 在 Heroku 上将应用程序投入生产后,Express 路线停止工作
- docker - 如何以最佳方式在多台物理机上部署 Kubernetes 集群?
- javascript - 如何将异步等待响应传递给 Vue?
- excel - 仅查找一列的所有选项