用另一个事件停用课程

时间:2011-09-24 00:22:28

标签: javascript html ajax jquery

我正在尝试在谷歌的nopnav上创建一个单独的下拉容器,一切运行正常,我点击了当我点击隐藏时我想要停用触发事件的激活类的事实容器!


将页面插入到将被触发的链接的位置以推送容器,第二页是容器的内容,我在其中放入一个脚本来隐藏容器,第二个页面为“tabfy”带有jquery工具选项卡的菜单。


以下是代码:

$(function () {
    "use strict";
    $(".user-link").click(function (e) {
        e.preventDefault();
        if ($(".user-link").hasClass("#buser-box")) {
            $(".user-link").removeClass("#buser-box");
        } else {
            $('#buser-box').show('fast');
            $(".user-link").addClass("active");
        }
        $.ajax({
            url: "conta-box/conta-home.html",
            cache: false,
            dataType: "html",
            success: function (data) {
                $("#buser-box").html(data);
                if (!$(this).hasClass("#buser-box")) {
                    $("#buser-box").removeClass("#buser-box");
                }
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert(textStatus);
            }
        });
    });
});

指数的HTML:

<div class="tabs-global">
    <ul id="nav">
        <li class="user-link" title="Conta"><a class="user-box"></a></li>
        <li class="loja-link" title="Loja"><a class="loja-box"></a></li>
        <li class="ava-link" title="Avaliação"><a class="ava-box"></a></li>
    </ul>
</div>
<div id="buser-box"></div>
<div id="loja-box"></div>
<div id="ava-box"></div>

容器内容的HTML:

<div class="topbar">
    <span class="box-close" onclick="box.close();"></span>
</div>
<div id="menu-box">
    <h2>
        <span class="icones-conta"></span><span class="texto">Conta</span></h2>
    <ul id="conta-tabs">
        <li class="current"><a href="box/conta-box/conf.html">Configuração</a></li>
        <li><a href="box/conta-box/conf-end.html">Localização</a></li>
        <li><a href="box/conta-box/compras.html">Compras</a></li>
    </ul>
</div>
<div id="conta-container"></div>

<script type="text/javascript" src="./js/jquery.tools.min.js"></script>

<script type="text/javascript">
    $(".box-close").click(function () {
        $("#buser-box").hide("fast");
    });
</script>

1 个答案:

答案 0 :(得分:1)

  

如果您使用任何引用类的Jquery属性,则需要使用类。

For example:
if ($(".user-link").hasClass("#buser-box")) {
    $(".user-link").removeClass("#buser-box");
}
  

应该是:

 if ($(".user-link").hasClass("buser-box")) {
        $(".user-link").removeClass("buser-box");
  }
  

您还可以尝试使用单击功能进行显示和单击功能   隐藏:

// hide your dropdown menu by default
    $('#myMenuContainer').addClass('closed').hide(); 


    $('.mylink').click(function(showMenu){
     //display your drop down menu
    if($('#myMenuContainer').hasClass('closed')) {
    $('#myMenuContainer').show().addClass('open').removeClass('closed');
    }
    });

    $('.mylink').click(function(showMenu){
    //hide your drop down menu
    if($('#myMenuContainer').hasClass('open')) {
    $('#myMenuContainer').removeClass('open').addClass('closed').hide();
    }
    });