我正在努力让它工作,因为我不知道正确的格式。
我尝试的是让CSS模式根据用户在Javascript applet中选择的值来显示。
其想法是返回.style.display = "block";
function onClick(event){
<something>.style.display = "block";
}其中包含以intersects.object.title格式保存的值
例如,如果我选择了“曼哈顿”
alert(intersects[0].object.title)我会让字符串“曼哈顿”正确显示。这很好用。
但是我不能让manhattan.style.display = "block";返回并在函数中工作?我试过了:
function onClick(event){
intersects[0].object.title.style.display = "block";
}也尝试过
function onClick(event){
(intersects[0].object.title).style.display = "block";
}任何帮助都将不胜感激
发布于 2019-01-14 23:51:01
这可能不是你直接想要的,但无论如何它可能会有所帮助。要使它在您的情况下工作,只需将按钮按下更改为对所选值的检查。
此路由不是直接调整CSS,而是修改元素的classList以移除或添加包含正确CSS的.hidden类。
// Loop through all modal buttons
document.querySelectorAll('.modal-button').forEach(function(element) {
// Add a click event listener to all modal buttons
element.addEventListener('click', function() {
// Toggle the target modal on click
toggleModal(element.dataset.target);
});
});
// Create the function to toggle the modals
function toggleModal(target) {
// Find the target
let targetElement = document.querySelector(target);
// Check if the target is hidden
if (targetElement.classList.contains('hidden')) {
// If it is, show it
targetElement.classList.remove('hidden');
} else {
// If it isn't, hide it
targetElement.classList.add('hidden');
}
}.hidden {
display: none;
}<button data-target="#modal" class="modal-button">Toggle Modal</button>
<div id="modal" class="hidden">Hey there, I'm a modal!</div>
发布于 2019-01-15 00:04:47
我不能从你的问题中确定拼图的各个部分是如何相互关联的,如果你能通过展示更多的HTML和Javascript代码来澄清,这将是有帮助的,但同时我会向你抛出几个想法。如果我告诉你一些你已经知道的事情,很抱歉。
您通常能够设置"style.display“的唯一一种对象是HTML元素。要告诉Javascript您想要修改哪个HTML元素,通常使用"document.getElementById('myDiv')“这样的CSS选择器。
听起来“曼哈顿”可能是一条信息,您可以使用它来唯一地标识您想要显示的HTML元素。如果是这样的话,有四个简单的部分来显示正确的元素:
<代码>F29
总而言之,它可能看起来像这样:
<div id="manhattan"></div>
<script>
var identifier = intersects[0].object.title;
alert(identifier) //I'm assuming this alerts "manhattan"
var elementToShow = document.getElementById(identifier);
elementToShow.style.display = "block";
</script>这是在正确的轨道上吗?如果没有,请提供更多细节,我会看看我还能提出什么建议。
发布于 2019-01-14 23:43:53
给你div一些id,然后改变它:
<div id="test"></div>
document.getElementById("test").style["display"] = "block";
or
document.getElementById("test").style.display = "block";
or
document.getElementById("test").style.setProperty('display', 'block');
or
document.getElementById("test").setAttribute('display', 'block');https://stackoverflow.com/questions/54183710
复制相似问题