gpt4 book ai didi

javascript - 网站上有多个 x3d 文件

转载 作者:行者123 更新时间:2023-11-28 06:45:58 25 4
gpt4 key购买 nike

我正在制作一个显示多个 x3d 文件的网站,我的代码只立即显示一个文件(如下所示)

<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<title>Heritage Together</title>
<script type='text/javascript' src='http://www.x3dom.org/download/x3dom.js'> </script>
<link rel='stylesheet' type='text/css' href='http://www.x3dom.org/download/x3dom.css'/>
<link rel="stylesheet" type="text/css" href="css.css">
</head>
<body>
<h1>Heritage Together</h1>
<p>
This page will show any two models and display them side by side
</p>
<script>
function redNose()
{
if(document.getElementById('Deer__MA_Nose').getAttribute('diffuseColor')!= '1 0 0')
document.getElementById('Deer__MA_Nose').setAttribute('diffuseColor', '1 0 0');
else
document.getElementById('Deer__MA_Nose').setAttribute('diffuseColor', '0 0 0');
}
</script>
<ul id="menu">
<li><a href="#">Areas</a>
<ul>
<li><a href="#">area1</a></li>
<li><a href="#">area2</a></li>
<li><a href="#">area3</a></li>
</ul>
</li>
<li><a href="#">Types of models</a>
<ul>
<li><a href="#">model1</a></li>
<li><a href="#">model2</a></li>
<li><a href="#">model3</a></li>
<li><a href="#">model4</a></li>
<li><a href="#">model5</a></li>
</ul>
</li>
</ul>
<x3d width='500px' height='500px'>
<scene>
<viewpoint position="-1.94639 1.79771 -2.89271" orientation="0.03886 0.99185 0.12133 3.75685"></viewpoint>
<Inline nameSpaceName="Deer" mapDEFToID="true"
onclick='redNose();' url="Deer.x3d" />
</scene>
</x3d>
</body>
</html>

我的css文件如下

ul {
font-family: Arial, Verdana;
font-size: 14px;
margin: 0;
padding: 0;
list-style: none;
}
ul li {
display: block;
position: relative;
float: left;
}
li ul {
display: none;
}
ul li a {
display: block;
text-decoration: none;
color: #ffffff;
border-top: 1px solid #ffffff;
padding: 5px 15px 5px 15px;
background: #1e7c9a;
margin-left: 1px;
white-space: nowrap;
}
ul li a:hover {
background: #3b3b3b;
}
li:hover ul {
display: block;
position: absolute;
}
li:hover li {
float: none;
font-size: 11px;
}
li:hover a { background: #3b3b3b; }
li:hover li a:hover {
background: #1e7c9a;
}

body{
background-color: black;
}

h1{
color: white;
text-indent: 600px;
}
p{
color: white;
}

我想通过这个网站实现的是让我在“区域”下拉菜单或“模型类型”菜单中找到的 x3d 模型。我想让用户选择的两个模型并排显示。问题是,如何在下拉菜单中获取模型以及如何显示它们

最佳答案

嗯,我不确定您是如何填充区域和模型列表的,所以让我们只使用您拥有的 HTML。

我们将使用 DOM 元素来填充列表。为此,我们需要添加一个唯一标识符。

<ul id="menu">
<li><a href="#">Areas</a>
<ul id="area_list">
<li><a href="#">area1</a></li>
<li><a href="#">area2</a></li>
<li><a href="#">area3</a></li>
</ul>
</li>
<li><a href="#">Types of models</a>
<ul id="model_list">
<li><a href="#">model1</a></li>
<li><a href="#">model2</a></li>
<li><a href="#">model3</a></li>
<li><a href="#">model4</a></li>
<li><a href="#">model5</a></li>
</ul>
</li>
</ul>

如您所见,ul 元素添加了 id。这将是查看它的 child 是什么的标识符。

JS:

var areaList = [],
modelList = [];

function populateLists(){
alert("running");
var areaUL = document.getElementById('area_list').children;
var modelUL = document.getElementById('model_list').children;

for(var i = 0; i < areaUL.length; i++){
areaList.push(areaUL[i].children[0].text);
}
alert("Area Items : " + areaList.length);
};

这会将所有区域元素添加到 areaList 中。然后您可以看到如何对模型执行相同的操作。

我认为这就是您要查找的内容,但您的问题很难理解。

JSFiddle

注意事项:

这可以通过 jQuery 变得更容易、更方便,尽管根本不是强制性的。

如果您使用文件系统列表来填充列表,这将需要服务器端逻辑将数据(文件列表)发送到 javascript。没有单独使用 Javascript 的 native 方法来实现这一点。 (不包括 nodeJS 服务器)

关于javascript - 网站上有多个 x3d 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34045381/

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