【问题标题】:How can I add a class to the open panels?如何向打开的面板添加课程?
【发布时间】:2010-10-25 22:51:46
【问题描述】:

谁能帮助我,我在一个页面上使用了两个面板,我只想一次显示一个,所以我对 js 进行了调整,但它似乎没有添加类。有人可以帮忙吗?

$(文档).ready(函数 () { $("div.panel_buttonGal").click(function () { $("div#panelGal").animate({ 高度:“150 像素” }).动画({ 高度:“140 像素” }, “减缓”); $("div.panel_buttonGal").toggle(); $("div#panelGal").addClass("open"); }); $("div#hide_buttonGal").click(function () { $("div#panelGal").animate({ 高度:“0px” }, “减缓”); $("div#panelGal").removeClass("open"); }); $("div.panel_buttonAbt").click(function () { $("div#panelGal.open").animate({ 高度:“0px” }, “快速地”); }); });

HTML 看起来像这样。

<pre><code>
<div id="panelGal" class="">
  <div class="panel_contents"> </div>
   <ul class="subnav">
            <li><a href="#">Engagements & Weddings</a></li>
            <li><a href="#">Maternity & Newborns</a></li>
            <li><a href="#">Seniors</a></li>
            <li><a href="#">Portraits</a></li>
            <li><a href="#">Photo Parties & Fundraisers</a></li>
            <li><a href="#">Special Events</a></li>
          </ul>
    </div>

    <div id="panelAbt" class="">
    <div class="panel_contents"> </div>
      <ul class="subnav">
            <li><a href="#">Bio</a></li>
            <li id="invest"><a href="#">Investment</a></li>
            <li><a href="#">Details (FAQ)</a></li>
            <li><a href="#">Testimonials</a></li>
            <li><a href="#">Vendors We Love</a></li>
          </ul>
    </div>

    <div id="nav">

        <div class="MainNav"><a href="#" class="rp">Home</a></div>
        <div class="MainNav"><a href="#" class="rp">About You</a></div>
        <div class="MainNav panel_buttonGal" style="display: visible;"><a class="rp">Galleries</a></div>
        <div class="MainNav panel_buttonGal" id="hide_buttonGal" style="display: none;"><a class="rp">Galleries</a></div>
        <div class="MainNav panel_buttonAbt" style="display: visible;"><a class="rp">About Us</a></div>
        <div class="MainNav panel_buttonAbt" id="hide_buttonAbt" style="display: none;"><a class="rp">About Us</a></div>
        <div class="MainNav"><a href="#" class="rp">The Latest</a></div>
        <div class="MainNav"><a href="#" class="rp">Proof & Shop</a></div>
        <div class="MainNav"><a href="#" class="rp">Contact Us</a></div>

    </div>

 </code></pre>

【问题讨论】:

  • html 是什么样的?

标签: jquery panel addclass sliding


【解决方案1】:

请改用hide()show()

【讨论】:

  • 假设您的打开样式是 display:none 的包装,替换 $("div#panelGal").addClass("open");与 $("div#panelGal").show();以及带有 .hide() 的 removeClass。如果您在该样式中设置了其他属性(字体、颜色),请使用 jQuery 在可选的 function() 参数中设置它们
【解决方案2】:

不要添加 CSS 类并使用 animate(),而是使用 slideUp() 和 slideDown()

$(document).ready(function () {
        $("div.panel_buttonGal").hide();  // initial state
        $("div.panel_buttonGal").click(function () {
            $("div#panelGal").slideDown("slow");
            $("div.panel_buttonGal").toggle();
        });

        $("div#hide_buttonGal").click(function () {
            $("div#panelGal").slideUp("slow");
        });
        $("div.panel_buttonAbt").click(function () {
            $("div#panelGal").slideUp("fast");
        });
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 2012-03-22
    • 1970-01-01
    相关资源
    最近更新 更多