Javascript 如果出现<;a>;点击
这是我的密码:Javascript 如果出现<;a>;点击,javascript,jquery,arrays,toggle,Javascript,Jquery,Arrays,Toggle,这是我的密码: var workshops=document.querySelector(“#workshops”); var cross_one=document.querySelector('cross_one'); var workshops_navigation=document.querySelector(“#workshops_navigation”); workshops.addEventListener('click',函数(事件){ if(cross_one.style.di
var workshops=document.querySelector(“#workshops”);
var cross_one=document.querySelector('cross_one');
var workshops_navigation=document.querySelector(“#workshops_navigation”);
workshops.addEventListener('click',函数(事件){
if(cross_one.style.display==“”){
cross_one.style.display=“无”;
workshops_navigation.style.display=“block”;
}否则{
cross_one.style.display=“”;
车间_navigation.style.display=“无”;
}
}
);
var works=document.querySelector(“#works”);
var cross_two=document.querySelector('cross_two');
var works_navigation=document.querySelector(“#works_navigation”);
works.addEventListener('click',函数(事件){
if(cross_two.style.display==“”){
cross_two.style.display=“无”;
works\u navigation.style.display=“block”;
}否则{
cross_two.style.display=“”;
works\u navigation.style.display=“无”;
}
}
);
var projects=document.querySelector(“#projects”);
var cross_three=document.querySelector('cross_three');
var projects_navigation=document.querySelector(“#projects_navigation”);
projects.addEventListener('click',函数(事件){
if(cross_three.style.display==“”){
cross_three.style.display=“无”;
项目\ u navigation.style.display=“block”;
}否则{
cross_three.style.display=“”;
项目\u navigation.style.display=“无”;
}
}
);代码>
#研讨会{
左:4vw;
顶部:32vh;
位置:绝对位置;
}
#工作{
右:10vw;
顶部:5vh;
位置:绝对位置;
}
#计划{
右:5vw;
顶部:20vh;
位置:绝对位置;
}
#车间图标、工作图标、项目图标{
光标:指针;
宽度:354px;
}
#研讨会导航、#工作导航、#项目导航{
字体大小:30px;
顶部:10px;
左边距:15px;
位置:绝对位置;
显示:无;
线高:100%
}
检查此JSFIDLE
HTML:
在链接上创建一个真实的事件绑定(addEventListener
或on()
),该绑定将标志设置为false,并停止事件的传播。然后在任何重要的div上创建一个真正的事件绑定,单击该绑定可以将标志翻转回来。这样,冒泡到它的子对象上的单击事件(由于StopRopAgation而不会来自链接)将重新启用切换。了解jQuery事件处理的一个很好的起点是浏览site@Taplar非常感谢。我必须用JavaScript来完成。我不明白/谢谢这个看起来很好。但是我有不止一张带有多个链接的图片。如果我使用“.link”而不是“#link”,它将不起作用。为什么?如果要使用类,则必须使用document.queryselectoral而不是document.querySelector方法例如:var highlightedItems=userList.queryselectoral(“.highlighted”);forEach(函数(userItem){deleteUser(userItem);});您是否可以编辑您的答案?如果有效,我可以检查并投票!非常感谢你!现在检查,它将在类而不是id上工作
<div id="works">
<div id="works_icon">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 235.1 299.4" style="enable-background:new 0 0 235.1 299.4;" xml:space="preserve">
<polygon fill="white" points="0.8,298.5 234.3,298.5 234.3,0.8 0.8,0.8 0.8,298.5 "/>
<polygon id="cross_one" points="233.6,299.1 117.6,151 1.5,299.1 0.2,298 116.5,149.7 0.2,1.3 1.5,0.3 117.6,148.3 233.6,0.3
234.9,1.3 118.6,149.7 234.9,298 "/>
<path d="M235.1,299.4v-1.7V1.7V0h-1.7H1.7H0v1.7v296v1.7h1.7h231.8H235.1L235.1,299.4z M233.5,297.7H1.7V1.7h231.8
V297.7L233.5,297.7z"/>
</svg>
<div id="works_navigation">
<a href="#" class='link'> My Link 1 </a><br/>
<a href="#" class='link'> My Link 2 </a><br/>
<a href="#" class='link'> My Link 3 </a><br/>
</div>
</div>
var works = document.querySelector('#works');
var cross_one = document.querySelector('#cross_one');
var works_navigation = document.querySelector('#works_navigation');
works.addEventListener('click', function (event) {
if (cross_one.style.display == "") {
cross_one.style.display = "none";
works_navigation.style.display = "block";
} else {
cross_one.style.display = "";
works_navigation.style.display = "none";
}
}
);
document.querySelectorAll('.link').forEach(function(link) {
link.addEventListener('click', function (event) {
event.stopPropagation();
})
})
;