# аккордеон это не функция - PullRequest
3 голосов
/ 26 января 2012

Возникла проблема со скриптом аккордеона, аккордеон работал, когда я работал с ним по прямой HTML, но теперь, перейдя на wordpress, аккордеон перестал работать.

Вот мой код

  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
  <script>
  $(document).ready(function() {
    $("#accordion").accordion();
  });
  </script>
<?php wp_head(); ?>

и HTML:

            <div id="accordion">
 <div class="button"><a href="#">Infrastructure</a></div>
    <div><?php
            if (function_exists('iinclude_page')){
                iinclude_page('sectors/infrastructure');
            }?>
            </div>
    <div class="button"><a href="#">Housing</a></div>
    <div><?php
            if (function_exists('iinclude_page')){
                iinclude_page('sectors/housing');
            }?></div>
                <div class="button"><a href="#">Education</a></div>
    <div><?php
            if (function_exists('iinclude_page')){
                iinclude_page('sectors/education');
            }?></div>
                <div class="button"><a href="#">Health</a></div>
    <div><?php
            if (function_exists('iinclude_page')){
                iinclude_page('sectors/health');
            }?></div>
</div>

Я действительно не понимаю проблемы, так как она работала в прямом html. Я даже пытался удалить функцию включения с прямым текстом, и она все еще не работает?

Есть идеи? Других объектов jquery также нет.

Ответы [ 3 ]

13 голосов
/ 26 января 2012

Вы загружаете jQuery дважды (1.5, затем 1.7.1) и загружаете jQuery UI после загрузки 1.5, но перед загрузкой 1.7.1. Итак, вот что происходит:

  1. Загружен jQuery 1.5.

  2. jQuery UI загружается и присоединяется к объекту jQuery, который существует в этой точке.

  3. jQuery 1.7.1 загружен, полностью заменив объект jQuery.

  4. Ваш код выполняется с использованием объекта (1.7.1) jQuery, к которому пользовательский интерфейс jQuery не добавил своей совершенства.

Если вы загрузите jQuery только один раз и убедитесь, что вы загрузили jQuery UI позже, это сработает.

2 голосов
/ 26 января 2012

Вы включаете jQuery дважды, может, в этом проблема?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
..
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
0 голосов
/ 26 января 2012

Можете ли вы показать мне полный HTML, когда вы запускаете его на Wordpress. Я думал, что, возможно, на включаемых страницах есть какие-то закрытые теги, которые могут испортить аккордеон.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

И попробуйте не вставлять jQuery дважды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...