javascript部分无效

时间:2016-08-26 10:59:22

标签: javascript jquery html javascript-events

我做错了什么但却找不到什么?如果有人能帮助我,我将不胜感激。当我在我的网站上查看它时,这个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>

试用类的显示设置为无。

2 个答案:

答案 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)

它的官方我是个傻瓜....我已经把这两个脚本放了两次,就像有些人指出它点击两次一样..抱歉浪费你的时间并且非常感谢