jQuery手风琴未显示

时间:2015-12-28 16:20:48

标签: jquery css asp.net jquery-ui-accordion

我有一个FAQ页面,里面有一个jQuery Accordion和一个转发器控件,可以显示各种问题和答案。 FAQ页面有一个名为LaunchPage.Master的主页。

以下是我的LaunchPage.Master代码

<html>

<head runat="server">
  <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport' />
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" charset="utf-8" />
  <!-- Bootstrap 3.3.4 -->
  <link href="content/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
  <link href="content/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
  <!-- Theme style -->
  <link href="content/css/AdminLTE.min.css" rel="stylesheet" type="text/css" />
  <asp:ContentPlaceHolder ID="HeadContent" runat="server">
  </asp:ContentPlaceHolder>
  <asp:ContentPlaceHolder ID="head" runat="server">
  </asp:ContentPlaceHolder>
  <script defer="defer" type="text/javascript" src="Content/js/jQuery/jQuery_1_7_2.min.js"></script>
</head>

<body class="skin-blue-light sidebar-mini">
  <div class="wrapper">
    <header class="main-header">
      <!-- Logo -->
      <a href="#" class="logo">
        <!-- mini logo for sidebar mini 50x50 pixels -->
        <span class="logo-mini"> </span>
        <!-- logo for regular state and mobile devices -->
      </a>
      <!-- Header Navbar: style can be found in header.less -->
      <nav class="navbar navbar-static-top" role="navigation">
        <!-- Sidebar toggle button-->
        <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button" title="Toggle Full Frame"></a>
        <!-- Navbar Right Menu -->
        <div class="navbar-custom-menu">
          <ul class="nav navbar-nav">
            <li class="dropdown user user-menu">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                <span class="hidden-xs">
                                            <asp:Label ID="lftSideLabel" runat="server" CssClass="info" />
                                        </span>
              </a>
            </li>
          </ul>
          <ul class="nav navbar-nav">
            <li class="dropdown notifications-menu">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="SettingsIcon" title="Settings" runat="server">
                <i class="glyphicon glyphicon-cog" title="Settings"></i>
              </a>
              <ul class="dropdown-menu">
                <li class="header">Settings</li>
                <li>
                  <!-- inner menu: contains the actual data -->
                  <ul class="menu">
                    <li id="nUser" runat="server">
                      <a href="Register.aspx" id="RegisterOption">
                        <i class="fa fa-user-plus text-aqua"></i>Create New User
                      </a>
                    </li>
                    <li id="cPassword" runat="server">
                      <a href="changepassword.aspx" id="ChangePasswordOption">
                        <i class="fa fa-pencil text-red"></i>Change Password
                      </a>
                    </li>
                  </ul>
                </li>
              </ul>
              <ul class="nav navbar-nav">
                <li class="dropdown user user-menu">
                  <a href="LogoutPage.aspx" class="dropdown-toggle" title="Logout" ID="Signout">
                    <i class="glyphicon glyphicon-log-out" title="Logout"></i>
                  </a>
                </li>
              </ul>
        </div>
      </nav>
    </header>
    <!-- Left side column. contains the logo and sidebar -->
    <aside class="main-sidebar">
      <!-- sidebar: style can be found in sidebar.less -->
      <section class="sidebar">
        <!-- Sidebar user panel -->
        <!-- sidebar menu: : style can be found in sidebar.less -->
        <ul class="sidebar-menu">
        </ul>
      </section>
      <!-- /.sidebar -->
    </aside>
    <!-- Content Wrapper. Contains page content -->
    <div class="content-wrapper">
      <!-- Main content -->
      <section class="content">
        <form id="form1" runat="server">
          <asp:ScriptManager ID="ScriptManager1" runat="server">
          </asp:ScriptManager>
          <div>
            <asp:ContentPlaceHolder ID="MainContent" runat="server">
            </asp:ContentPlaceHolder>
            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
            </asp:ContentPlaceHolder>
          </div>
        </form>
      </section>
      <!-- /.content -->
    </div>
    <!-- /.content-wrapper -->
    <footer class="main-footer">
  </div>
  <!-- ./wrapper -->
</body>
<script defer="defer" type="text/javascript">
  //Auto redirect to login page
  function SessionExpireAlert(a) {
    setTimeout(function() {
      window.location = "Login.aspx"
    }, a)
  };
</script>
<script defer="defer" type="text/javascript">
  $("[id*=Signout]").live("click", function() {
    $.ajax({
      type: "POST",
      contentType: "application/json; charset=utf-8",
      url: "Landing.aspx/LogoutIcon",
      data: "{}",
      dataType: "json",
      success: function(a) {},
      error: function(a) {
        alert("Error")
      }
    })
  });
</script>
<script defer="defer" type="text/javascript">
  $(document).ready(function() {
    $("#content").find("[id^='tab']").hide();
    $("#tabs li:first").attr("id", "current");
    $("#content #tab1").fadeIn();
    $("#tabs a").click(function(a) {
      a.preventDefault();
      "current" != $(this).closest("li").attr("id") && ($("#content").find("[id^='tab']").hide(), $("#tabs li").attr("id", ""), $(this).parent().attr("id", "current"), $("#" + $(this).attr("name")).fadeIn())
    })
  });
</script>
<!-- jQuery 2.1.4 -->
<script defer="defer" src="Content/js/jQuery/jQuery-2.1.4.min.js"></script>
<!-- Bootstrap 3.3.2 JS -->
<script defer="defer" src="Content/js/bootstrap.min.js" type="text/javascript"></script>
<!-- AdminLTE App -->
<script defer="defer" src="Content/js/AdminApp/app.min.js" type="text/javascript"></script>

</html>

这是我的FAQ.aspx代码

<%@ Page Title="" Language="C#" MasterPageFile="~/LaunchPage.master" AutoEventWireup="true" CodeFile="FAQ.aspx.cs" Inherits="FAQ" %>

  <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">
    </asp:Content>
    <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">

      <link href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css">
      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
      <script type="text/javascript" src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
      <script>
        $(document).ready(function() {
          $("#ContentPlaceHolder1_dvAccordian").accordion({
            active: false,
            collapsible: true,
            heightStyle: "content",
            alwaysOpen: false
          });
        });
      </script>
      <div>
        <div>
          <div class="wrapper row-offcanvas row-offcanvas-left">
            <section class="content-header">
            </section>
            <div id="dvAccordian" style="width: 99%" runat="server">
              <asp:Repeater ID="rptFAQ" runat="server">
                <ItemTemplate>
                  <div class="s_panel" style="font-family: 'Roboto'; font-size: small">
                    <h1>
                                        <a href="#" class="lblFontSmall" data-content="Tool tip"><%# Eval("Question") %></a>
                                    </h1>
                    <div>
                      <p>
                        <small><span class="lblFontSmall"><%# Eval("Answer") %></span></small>
                      </p>
                    </div>
                  </div>
                </ItemTemplate>
              </asp:Repeater>
            </div>

            <br />
            <br />
          </div>
        </div>
      </div>
    </asp:Content>

当我查看FAQ页面时,我没有收到手风琴。相反,我只得到文本。 jQueryUI.js和.CSS链接工作正常。我试图将我的脚本和css链接引用更改为头部下方的主页以及FAQ页面。但是我得到的是与文本相同的输出而不是手风琴。

我尝试根据这些链接中提供的响应进行故障排除,但是没有任何效果。

jQuery Accordion not working

jQuery accordion its not working

jQuery accordion() not working

我无法找到问题的根本原因。当我检查代码时,jQuery没有被检测到并加载到dvAccordion控件。任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:2)

我发现这段代码可以替代jquery手风琴。

&#13;
&#13;
<!-- JS -->
< script type = "text/javascript" >
  $(document).ready(function($) {
    $('#accordion').find('.accordion-toggle').click(function() {

      //Expand or collapse this panel
      $(this).next().slideToggle('fast');

      //Hide the other panels
      $(".accordion-content").not($(this).next()).slideUp('fast');

    });
  }); < /script>
&#13;
<style> .accordion-toggle {
  cursor: pointer;
}
.accordion-content {
  display: none;
}
.accordion-content.default {
  display: block;
}
</style>
&#13;
<div id="accordion">
  <h4 class="accordion-toggle">Accordion 1</h4>
  <div class="accordion-content default">
    <p>Cras malesuada ultrices augue molestie risus.</p>
  </div>
  <h4 class="accordion-toggle">Accordion 2</h4>
  <div class="accordion-content">
    <p>Lorem ipsum dolor sit amet mauris eu turpis.</p>
  </div>
  <h4 class="accordion-toggle">Accordion 3</h4>
  <div class="accordion-content">
    <p>Vivamus facilisisnibh scelerisque laoreet.</p>
  </div>
</div>
&#13;
&#13;
&#13;