Spring mvc jquery ui“手风琴不是功能”

时间:2013-01-11 14:08:17

标签: jquery-ui spring-mvc accordion

我有和手风琴在一个普通的html页面上工作,但当我尝试将它添加到Spring MVC页面时,我收到错误:$(...).accordion is not a function

以下是我的WEB-INF\views\index.jsp文件的标题:

<!DOCTYPE html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
         <head>
  <title>Jeeni Software Ltd</title>
  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
  <link rel="stylesheet" href="<c:url value="css/style.css"/>" type="text/css"> 
  <link rel="stylesheet" href="<c:url value="css/menu/menu_style.css"/>" type="text/css"/>
  <script type="text/javascript" src="<c:url value="js/jquery-1.8.3.js"/>"></script>
  <script type="text/javascript" src="<c:url value="js/jquery-ui-1.9.2.js">"></script>       
  <script type="text/javascript" src="<c:url value="js/jquery.flip.js"/>"></script>

...
<!-- This is the 'accordion' div -->
<div id="accordion" style="height:800px;">
   <h3>Title...</h3>
   ...

以下是就绪功能:

$(document).ready(function() {

  var object = $("#accordion");
  alert("object: "  + object.accordion);

  $("#accordion").accordion({ collapsible: true, active: 'false', autoHeight: false });
  $("#banner").fadeIn(1000);

  alert("Done");
});

这个alert("object: " + object.accordion);显示object: undefined并在下一行炸弹。

这是我的servlet-context.xml文件

<mvc:resources mapping="/cv/**" location="/cv/" />
<mvc:resources mapping="/wow/**" location="/wow/" />
<mvc:resources mapping="/css/**" location="/css/" />
<mvc:resources mapping="/imgs/**" location="/imgs/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/inc/**" location="/inc/" />
<mvc:resources mapping="/article-imgs/**" location="/article-imgs/" />

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
  <property name="prefix" value="/WEB-INF/views/"/>
  <property name="suffix" value=".jsp"/>
</bean>

Firebug显示加载任何jquery文件没有问题。我可以在Spring mvc之外重新创建正确的行为,所以问题必须与Spring / Java有关吗?!?但我找不到什么。 Firebug报告的唯一错误是$(...).accordion is not a function,但所有设置都与jquery ui手风琴示例一样。

顺便说一句,我在过去的3个小时里一直在网上搜索,发现了类似的问题,这些问题都是由错别字来解决的。这不是拼写错误。关于jquery UI和Spring MVC我找不到这样的东西。

2 个答案:

答案 0 :(得分:0)

<script type="text/javascript" src="<c:url value="js/jquery-ui-1.9.2.js">"></script>

在某些方面不正确。

  • 你能获得任何jquery函数吗?
  • 只是jquery-ui函数不起作用吗?
  • 您是否自定义了jquery-ui下载而不包括手风琴?
  • 您是否在浏览器调试器中获得了404?
  • 您是否打开了一个用其他东西覆盖jQuery对象的弹出窗口?

也可能更好地使用cdn托管版本的jQuery lib文件。以下是最新版本,适用于手风琴。

<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js' type='text/javascript'></script>

答案 1 :(得分:0)

解决!

问题是我通过以下方式导入了一些内容:

<jsp:include page="../includes/index_page_intro_txt.jsp" />

这个JSP文件正在重新导入jquery。拿出来,一切都很好。

特别感谢@NimChimpsky成为一名声音板并让我继续前进。

任何人都无法通过上述信息解决这个问题。所以,让大家知道我是如何解决它的:

我首先删除了除库导入,ready语句和accordion div块之外的文件中的所有内容。然后它奏效了。因此,我慢慢地将所有内容添加回来,直到它停止工作,然后调查原因。

首先应该这样做 - 呃!