首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调用value + style.display函数?

调用value + style.display函数?
EN

Stack Overflow用户
提问于 2019-01-14 22:48:08
回答 3查看 66关注 0票数 2

我正在努力让它工作,因为我不知道正确的格式。

我尝试的是让CSS模式根据用户在Javascript applet中选择的值来显示。

其想法是返回.style.display = "block";

代码语言:javascript
运行
复制
function onClick(event){
    <something>.style.display = "block"; 
}

其中包含以intersects.object.title格式保存的值

例如,如果我选择了“曼哈顿”

代码语言:javascript
运行
复制
alert(intersects[0].object.title)

我会让字符串“曼哈顿”正确显示。这很好用。

但是我不能让manhattan.style.display = "block";返回并在函数中工作?我试过了:

代码语言:javascript
运行
复制
function onClick(event){
    intersects[0].object.title.style.display = "block"; 
}

也尝试过

代码语言:javascript
运行
复制
function onClick(event){
    (intersects[0].object.title).style.display = "block"; 
}

任何帮助都将不胜感激

EN

回答 3

Stack Overflow用户

发布于 2019-01-14 23:51:01

这可能不是你直接想要的,但无论如何它可能会有所帮助。要使它在您的情况下工作,只需将按钮按下更改为对所选值的检查。

此路由不是直接调整CSS,而是修改元素的classList以移除或添加包含正确CSS的.hidden类。

代码语言:javascript
运行
复制
// 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');
  }
}
代码语言:javascript
运行
复制
.hidden {
  display: none;
}
代码语言:javascript
运行
复制
<button data-target="#modal" class="modal-button">Toggle Modal</button>
<div id="modal" class="hidden">Hey there, I'm a modal!</div>

票数 1
EN

Stack Overflow用户

发布于 2019-01-15 00:04:47

我不能从你的问题中确定拼图的各个部分是如何相互关联的,如果你能通过展示更多的HTML和Javascript代码来澄清,这将是有帮助的,但同时我会向你抛出几个想法。如果我告诉你一些你已经知道的事情,很抱歉。

您通常能够设置"style.display“的唯一一种对象是HTML元素。要告诉Javascript您想要修改哪个HTML元素,通常使用"document.getElementById('myDiv')“这样的CSS选择器。

听起来“曼哈顿”可能是一条信息,您可以使用它来唯一地标识您想要显示的HTML元素。如果是这样的话,有四个简单的部分来显示正确的元素:

  • 将元素与特定字符串关联(如通过id)
  • 在运行时获取字符串(与您处理警报的方式相同)
  • 根据匹配的字符串选择元素
  • 显示选定的元素

<代码>F29

总而言之,它可能看起来像这样:

代码语言:javascript
运行
复制
<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>

这是在正确的轨道上吗?如果没有,请提供更多细节,我会看看我还能提出什么建议。

票数 1
EN

Stack Overflow用户

发布于 2019-01-14 23:43:53

给你div一些id,然后改变它:

代码语言:javascript
运行
复制
<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');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54183710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档