我做错了什么但却找不到什么?如果有人能帮助我,我将不胜感激。当我在我的网站上查看它时,这个JavaScript代码完全正常,但是一旦我在线托管它就不会
$(".slider").click(function(){
if ($('.sliding_navigation').hasClass('trial')){
$('.sliding_navigation').removeClass('trial');
alert('works');
}
else
{
$('.sliding_navigation').addClass('trial');
alert('even this works');
}
});
问题是,当我单击滑块类时,它会删除试用类,但之后它会自动继续执行else语句,并添加该类创建无效,我已经在这个圈子中运行,并且将会感谢任何帮助; 这是我的目标
的HTML代码<div class="complete_nav">
<header class="slider">MENU</header>
<header class="sliding_navigation trial">
<nav >
<ul>
<a href="#" ><li class="select"><b>HOME</b></li></a>
<a href="aboutme.html"><li><b>ABOUT ME</b></li></a>
<a href="from_my_pen.html"><li><b>FROM MY PEN</b></li></a>
<a href="books.html"><li><b>BOOKS</b></li></a>
<a href="reviews_and_press.html"><li><b>REVIEWS AND PRESS</b></li></a>
<a href="contact_me.html"><li><b>CONTACT ME</b></li></a>
</ul>
</nav>
</header>
</div>
试用类的显示设置为无。
答案 0 :(得分:4)
您可以用以下内容替换所有javascript:
$(".slider").click(function(){
$('.sliding_navigation').toggleClass('trial');
});
仅 $.toggleClass()
,检查一个元素是否具有某个类,如果有,则将其删除,如果没有,则添加它。
这对我很有用,只需添加:
.trial {
display:none;
}
看到这个小提琴:https://jsfiddle.net/LnpLzykp/
不要忘记将其添加到您的代码中:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
编辑:也许您的代码中有更多这些代码,在这种情况下,请改用它:
$(".slider").click(function(){
$(this).parent().find('.sliding_navigation').toggleClass('trial');
});
这样您就可以告诉javascript仅针对.sliding-navigation
正下方的.slider
切换课程试用版。
检查这个小提琴:https://jsfiddle.net/LnpLzykp/1/
我正在使用四个菜单来说明新代码。
答案 1 :(得分:0)
它的官方我是个傻瓜....我已经把这两个脚本放了两次,就像有些人指出它点击两次一样..抱歉浪费你的时间并且非常感谢