[英]My javascript trigger is not working in my code with css media query
<nav id="navbar" class="sticky">
<div id="logo"><a href="Javascript: xs();" class="lounch" id="xs">☰</a><a href="Javascript: sm();" class="lounch" id="sm">☰</a><a href="index"><img src="./logo/logo.png" alt=""></a></div>
<div class="links">
<div class="link ac"><a href="index" class="active">index</a></div>
<div class="link"><a href="Javascript: alrt();">about</a></div>
<div class="link"><a href="Javascript: alrt();">explore</a></div>
<div class="link"><a href="Javascript: alrt();">article</a></div>
<div class="link"><a href="Javascript: alrt();">contact</a></div>
</div>
<div class="connect">
<a href="signin">sign in</a>
<a href="signup">sign up</a>
</div>
</nav>
<div id="logo"><a href="Javascript: xs();" class="lounch" id="xs">☰</a><a href="Javascript: sm();" class="lounch" id="sm">☰</a><a href="index"><img src="./logo/logo.png" alt=""></a></div>
This is trigger, for small screen. 对于小屏幕,这是触发器。 I want to hide/show .links
on click #xs
. 我想隐藏/显示.links
上点击#xs
。
.links{
display: flex;
align-items: center;
margin: auto;
.link{
margin: 10px;
align-items: center;
a{
text-transform: uppercase;
padding: 7px;
border: 2px solid;
}
a.active,a:hover{
color: $bd;
background: $lgd;
}
a.active:hover{
color: $lgl;
background: none;
}
}
}
@media screen and (max-width: 700px){
.links{
display: block;
text-align: center;
margin: 0;
margin-top: -18px;
padding-top: 3px;
border-bottom: 2px solid;
border-right: 2px solid;
width: 170px;
.link{
padding: 6px 20px;
align-items: center;
border-bottom: 1px solid;
margin: auto;
a.active:hover,a:hover,a.active,a{
text-transform: uppercase;
padding: 6px 60px 6px 10px;
margin: auto;
border: 2px solid;
color: $lgd;
background: none;
border:none;
}
}
.ac{
background: $lgd;
a.active:hover,a:hover,a.active,a{
background: none;
color: $bd;
}
}
.link:last-child{
border-bottom: 0;
}
}
}
javascript
code 我的javascript
代码 document.getElementById('xs').addEventListener('click', function() {
let val = document.getElementByClassName('content').style.display == 'block' ? 'none' : 'block';
document.getElementById('content').style.display = val;
});
document.getElementById('sm').addEventListener('click', function() {
let val = document.getElementByClassName('content').style.display == 'block' ? 'none' : 'block';
document.getElementById('content').style.display = val;
let vals = document.getElementByClassName('connect').style.display == 'block' ? 'none' : 'block';
document.getElementById('connect').style.display = vals;
});
.links
我想要一个触发器来显示/隐藏.links
Here is a very simple example of toggling visibility in a view. 这是在视图中切换可见性的一个非常简单的示例。
document.getElementById('toggle').addEventListener('click', function() { let val = document.getElementById('content').style.display == 'block' ? 'none' : 'block'; document.getElementById('content').style.display = val; })
<button id="toggle">Click me</button> <div id="content" style="display: block">This div can be hidden</div>
See below snippet 请参阅下面的代码段
in this way you can use the toggleClass function to toggle the css class 通过这种方式,您可以使用toggleClass函数来切换css类
Hope it help. 希望它有所帮助。
$(document).ready(function(){ $("button").click(function(){ $(".target").toggleClass('hide'); }); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!DOCTYPE html> <html> <head> <style> .hide{ display:none; } </style> </head> <body> <h2>Click Below Button to see how toggle works</h2> <p class="target hide">I am here to hide with toggle.</p> <button>Click me to toggle class</button> </body> </html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.