我有几种聚合物元素。
<ps-el-one/>
<ps-el-two/>
<ps-el-three/>
<ps-el-four/>
Run Code Online (Sandbox Code Playgroud)
我希望能够使用CSS选择器或javaScript查询以“ ps-”开头的所有元素。
我提出了以下解决方案,但我想知道是否还有更有效的方法?
var allElementsOnPage = document.querySelectorAll('*');
var res = [];
for (var index in allElementsOnPage) {
var el = allElementsOnPage[index];
if (el && el.tagName && el.tagName.substr(0, 3) == 'PS-') {
res.push(el);
}
}
Run Code Online (Sandbox Code Playgroud)
这种解决方案似乎效率很低。
我正在关注如何使用光线投射来处理可点击对象的mrdoobs示例.我也查看了许多类似的问题,并尝试了无数的事情.光线投射工作......如果我的距离小于1.
Raycaster设置为接近0且远无穷远(默认值).我还没有看到任何设置距离的代码示例.
我希望有另一双眼睛.
// snippet
glow.clickables = [];
var cubeGeo = new THREE.CubeGeometry(2, 2, 2);
cubeGeo.computeFaceNormals();
var cube = new THREE.Mesh(cubeGeo, redmat);
cube.position.y = 10;
cube.position.x = 0;
cube.position.z = -12;
cube.overdraw = true;
glow.Vis.scene.add(cube);
glow.clickables.push(cube);
onclick_();
var onclick_ = function() {
$('#world').on('mousedown', function(e){
var mouseX = (event.offsetX / $('#world').width()) * 2 - 1;
var mouseY = - ( event.offsetY / $('#world').height()) * 2 + 1;
var vector = new THREE.Vector3(mouseX, mouseY, 0.1); //what should z be set to?
//console.info(vector); …Run Code Online (Sandbox Code Playgroud)