Отображение таблицы атрибутов в виде всплывающего окна для объектов x3dom

Я новичок в этой области и пытаюсь работать с объектами x3dom. Проблема, с которой я сейчас сталкиваюсь, заключается в том, как отображать атрибуты объектов x3dom в виде всплывающего окна. Я видел примеры, приведенные на веб-сайте x3dom, но пока не нашел подходящих примеров. Буду рад, если у кого-нибудь есть примеры, которыми можно поделиться. Заранее спасибо.


person user1879084    schedule 17.12.2012    source источник


Ответы (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
comment
Большое спасибо за ответ. Это прояснило для меня некоторые моменты. Однако то, что я искал, было нажатием на объект и получением информации о его атрибутах в виде всплывающего окна, а не с помощью кнопок. Спасибо еще раз.. - 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