Я новичок в этой области и пытаюсь работать с объектами x3dom. Проблема, с которой я сейчас сталкиваюсь, заключается в том, как отображать атрибуты объектов x3dom в виде всплывающего окна. Я видел примеры, приведенные на веб-сайте x3dom, но пока не нашел подходящих примеров. Буду рад, если у кого-нибудь есть примеры, которыми можно поделиться. Заранее спасибо.
Отображение таблицы атрибутов в виде всплывающего окна для объектов x3dom
Ответы (2)
Вы можете использовать свойство attributes
(например, document.getElementById("id").attributes
), вот пример, который показывает таблицу атрибутов, когда вы нажимаете любую кнопку:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>X3DOM</title>
<link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.0.4/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body class="container">
<X3D width="100%" height="300px">
<Scene>
<Shape id="myShape">
<Appearance>
<Material id="myMaterial" diffuseColor="0.6 0.6 0.6" specularColor="0.8 0.8 0.8" shininess="0.145" ambientIntensity="0.2" emissiveColor="0,0,0"/>
</Appearance>
<Sphere />
</Shape>
</Scene>
</X3D>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="http://x3dom.org/x3dom/release/x3dom.js"></script>
<script>
function displayAttributes(objectId){
var code = '';
var attributes = document.getElementById(objectId).attributes;
$.each(attributes, function(index, attr) {
code += '<tr><th>' + attr.name +'</th><td>' + attr.value + '</td></tr>';
});
$("#attributesTable").html(code);
}
</script>
<button onclick="displayAttributes('myShape')" class="btn btn-large">Attributes of the shape</button>
<button onclick="displayAttributes('myMaterial')" class="btn btn-large">Attributes of the material</button>
<table id="attributesTable" class="table table-striped table-bordered" style="margin-top:50px"></table>
</body>
</html>
Суть: https://gist.github.com/4329304
person
wildpeaks
schedule
18.12.2012
Большое спасибо за ответ. Это прояснило для меня некоторые моменты. Однако то, что я искал, было нажатием на объект и получением информации о его атрибутах в виде всплывающего окна, а не с помощью кнопок. Спасибо еще раз..
- person user1879084; 19.12.2012
точно то, что вы пытаетесь, неясно, не уверен, что это помогает
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="http://x3dom.org/x3dom/example/x3dom.css"></link>
<script type="text/javascript" src = "http://x3dom.org/x3dom/example/x3dom.js"></script>
</head>
<body>
<X3D showLog='true' width="400px" height="400px"><Scene>
<Shape><Box size="2 2 2" onclick="alert_attributes();" /></Shape>
</Scene></X3D>
<script>
function alert_attributes()
{
var size = document.getElementsByTagName("Box")[0].getAttribute('size');
x3dom.debug.logInfo( size );
alert( size );
}
</script>
</body>
</html>
person
drfrog
schedule
23.12.2012