2013-02-15 29 views
13

Vì một số lý do, Giao diện người dùng jQuery Accordion không hoạt động. Tôi vẫn gặp phải lỗi này:

TypeError: $(...).accordion is not a function

Tôi đang làm gì sai? Dựa trên các câu trả lời khác trên trang web này về các chủ đề tương tự, tôi nghĩ rằng nó có liên quan đến các tệp được bao gồm.

tiêu đề của tôi bao gồm là:

<!-- Mobile Specific Metas --> 
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 

<!-- CSS --> 
<link rel="stylesheet" href="<?php echo base_url(); ?>css/base_con.css"> 
<link rel="stylesheet" href="<?php echo base_url(); ?>css/skeleton.css"> 
<link rel="stylesheet" href="<?php echo base_url(); ?>css/layout.css"> 

<!--[if lt IE 8]> 
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script> 
<![endif]--> 

<!--[if lt IE 9]> 
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 

<!-- Favicons --> 
<link rel="shortcut icon" href="<?php echo base_url(); ?>images/favicon.ico"> 
<link rel="apple-touch-icon" href="<?php echo base_url(); ?>images/apple-touch-icon.png"> 
<link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png"> 
<link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png"> 
<link rel="stylesheet" href="<?php echo base_url(); ?>css/custom-theme/jquery-ui-1.10.0.custom.css" type="text/css" /> 

<!-- Scripts --> 
<script src="<?php echo base_url(); ?>js/jquery-1.9.0.js"></script> 
<script src="<?php echo base_url(); ?>js/jquery-ui-1.10.0.custom.js"></script> 
<script src="<?php echo base_url(); ?>js/responsiveslides.min.js" type="text/javascript"> 
+1

Jqueryui tùy chỉnh của bạn có thực sự bao gồm plugin accordion không? –

+0

Đảm bảo đường dẫn đến tệp lõi jQuery của bạn và tệp giao diện người dùng jQuery là chính xác. Có một cái nhìn trong Firebug hoặc một số công cụ giao diện điều khiển khác để đảm bảo thay đang tải. –

+0

cảm ơn Richard, đã sửa nó :) – chuckfinley

Trả lời

21

Vấn đề này có thể xuất phát từ một vài điều khác nhau:

  • You are not bao gồm thư viện jQuery UI.
  • Bạn đã bao gồm jQuery UI thư viện trên sự bao gồm của thư viện jQuery
  • Đường dẫn đến jQuery UI và jQuery thư viện có thể không chính xác
  • Bạn đang sử dụng một tùy chỉnh thư viện jQuery UI mà không có một accordion

Kể từ lần đầu tiên hai không áp dụng cho bạn, tôi muốn giới thiệu ba kiểm tra đường dẫn và sử dụng thư viện jQuery UI đầy đủ thay vì tùy chỉnh một:

<script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script> 
1

trong dòng mã cuối cùng, gồm các tập lệnh trong dưới đây theo thứ tự: -

Không cần phải bao gồm các bên dưới vì nó sẽ được chăm sóc bởi các kịch bản trên.

6

sử dụng t wo jquery.js tệp có thể gây ra xung đột và dẫn đến lỗi khi ném. Tránh nhập hai hoặc nhiều tệp jquery.js.

0

Thứ tự của các tệp js quan trọng!

/external/jquery/jquery.js should be listed above jquery-ui.js! 
Các vấn đề liên quan