Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用值+;样式。显示功能?_Javascript_Css_Function_Onclick - Fatal编程技术网

Javascript 调用值+;样式。显示功能?

Javascript 调用值+;样式。显示功能?,javascript,css,function,onclick,Javascript,Css,Function,Onclick,我正在努力让它工作,因为我不知道正确的格式 我尝试的是根据用户在Javascript小程序中选择的值来显示CSS模式 想法是返回.style.display=“block” 我会让字符串“曼哈顿”正确显示。那很好用 但我无法得到曼哈顿。style.display=“block”;返回并在函数内部工作?我试过: function onClick(event){ intersects[0].object.title.style.display = "block"; } 也试过 funct

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

我尝试的是根据用户在Javascript小程序中选择的值来显示CSS模式

想法是返回.style.display=“block”

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

但我无法得到曼哈顿。style.display=“block”;返回并在函数内部工作?我试过:

function onClick(event){
    intersects[0].object.title.style.display = "block"; 
}
也试过

function onClick(event){
    (intersects[0].object.title).style.display = "block"; 
}

任何帮助都将不胜感激

给您一些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');

document.getElementById(“test”).style[“display”]=“block”;
或
document.getElementById(“test”).style.display=“block”;
或
document.getElementById(“test”).style.setProperty('display','block');
或
document.getElementById(“test”).setAttribute(“display”、“block”);

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

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

//遍历所有模式按钮
document.querySelectorAll('.modal button').forEach(函数(元素){
//将单击事件侦听器添加到所有模式按钮
元素。addEventListener('click',function(){
//在单击时切换目标模式
toggleModal(element.dataset.target);
});
});
//创建用于切换模态的函数
功能切换模式(目标){
//找到目标
让targetElement=document.querySelector(目标);
//检查目标是否隐藏
if(targetElement.classList.contains('hidden')){
//如果是,就展示出来
targetElement.classList.remove('hidden');
}否则{
//如果不是,就把它藏起来
targetElement.classList.add('hidden');
}
}
。隐藏{
显示:无;
}
切换模式

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

通常可以设置“style.display”的唯一对象是HTML元素。要告诉Javascript要修改哪个HTML元素,通常使用CSS选择器,如“document.getElementById('myDiv')”

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

  • 将元素与特定字符串关联(例如通过id)
  • 在运行时获取字符串(与警报相同)
  • 根据匹配字符串选择元素
  • 显示所选元素
总之,它可能看起来像这样:

<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>

变量标识符=相交[0]。object.title;
警报(标识符)//我假设这个警报是“曼哈顿”
var elementToShow=document.getElementById(标识符);
elementToShow.style.display=“块”;

这条路对吗?如果没有,请提供更多详细信息,我会看看我还能提出什么建议。

嗨,猫。是的,我们有同样的逻辑。当你的第四行(警报(标识符))没有显示曼哈顿时,我意识到我这边有一个错误。我打开Chrome控制台,看到了这个错误:Uncaught TypeError:无法读取HTMLDocument.onClick的undefined属性'length',我现在正在尝试解决这个问题,因为我认为您的代码是正确的,但是intersects[0]有问题.object.title当前正在为cluesUPDATE读取:这是通过另一种方法解决的-结果是在定义相交[0]之前查找相交[0]时出现问题。
<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');
<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>