2012-04-10 1 views
0

Я не очень разбираюсь в Javascript, и в настоящее время я пытаюсь добавить функцию аккордеона в div, чтобы я мог раскрыть дополнительные данные. Это мой текущий мобильный веб-сайт, http://txf4199.cias.rit.edu/mobile-test-4/index.html#workjQuery/Отмена javascript (или переписывание?)

выпуска: я могу нажать на «View More» и эффект аккордеона будет работать нормально, как это показывает содержание. Однако, если я использую фильтр поверх сайта («Мобильный», «Движение» и т. Д.), Эффект аккордеона больше не будет работать.

FYI: Фильтр использует quicksand.js (фильтрации плагин) & также main.js (пользовательский сценарий), но эффект аккордеона просто используя встроенный скрипт, так как это очень мало.

Вот список моих JS-файлов:

<!-- jQuery --> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
<script type="text/javascript" src="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.js"></script> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
<script type="text/javascript" src="js/jquery.easing.1.3.js"></script> 
<script type="text/javascript" src="js/jquery.quicksand.js"></script> 
<script type="text/javascript" src="js/main.js"></script> 
<script type="text/javascript" language="javascript"> 
    $(document).ready(function() { 
     $('.accordionButton').click(function() { 
      $(this).next().slideToggle(); 
     }); 
    }); 
</script> 

Я уже посмотрел документ готовые функции, думали, что более чем один будет вопрос, но это приемлемо, так что я не знаю, где еще смотреть. Любая помощь будет оценена, я буду смотреть этот пост, как ястреб, спасибо заранее!

ответ

0

Попробуйте удалить вашу ссылку на jquery 1.5. Вы включаете как jquery 1.7.1, так и jquery 1.5. Я бы предположил, что это может вызвать некоторые проблемы. Также попробуйте использовать стандартное сворачиваемое поведение, запеченное в jqm. Подробнее здесь http://jquerymobile.com/demos/1.1.0-rc.2/docs/content/content-collapsible.html

Update:

О, а также не использовать документ готов. Вместо этого привязывайтесь к событию pageinit.

$(document).on('pageinit','[data-role=page]',function(){ 
    put code that you want for every page here. 
}); 
+0

не может, quicksand.js полагается на Google Ajax JQuery и JQuery мобильных полагается на 1.7.1 и добавить к этому, я хотел бы сделать разборную поведение по умолчанию, единственное, что он не оживляет, если это невозможно? это в основном основная причина, почему я это делаю – sydas

+0

Ищите альтернативный плагин, который работает jQuery 1.7.1. Или просто оживите их с помощью jquery. В любом случае, попробуйте мое предложение привязки к странице. Это может помочь в решении некоторых проблем. – codaniel

+0

Уже пробовал на странице, без успеха. Все страницы построены на одном html, а не на нескольких страницах. Я пробовал: $(document).on('pageinit','[data-role=page]',(function() { $('.accordionButton').click(function() { $(this).next().slideToggle(); }); }); Надеюсь, я сделал это правильно ... Что касается плагина, то недавнего обновления нет. О, еще одна вещь, вы упомянули, что я мог бы анимировать себя w jquery, не могли бы вы привести пример того, как это может работать? Я просто ищу простой слайд вверх/вниз эффект – sydas