Пытаюсь в Drupal 7 сделать выдвигающийся div на jQuery. не запускается чтото
Скрипт отдельным файлом подключен через .info файл темы, подгружается всё нормально.
$('#slide a').click(function(){
$('#toggler').toggle();
});
})(jQuery);
ксс
#toggler { display: none; }
хтмл ссылки по которой происходит действие
<a id="slide" href="#">some name</a>
хтмл непосредственно выдвигающегося дива
<div id="toggler">some text</div>
не работает что-то. в чём может быть проблема?
Комментарии
$('#slide a').click(function(e){
e.preventDefault();
$('#toggler').toggle();
});
})(jQuery);
Так попробуйте. Если не получиться, уточните, что именно не получается - по ссылке переходит, не разворачивается $('#toggler')?
не помогло. не разворачивается $('#toggler')
по ссылке он и не должен переходить по идее.
библиотека jQuery как я понимаю идёт вместе с друпалом 7. её подключать не надо?
Не надо.
Ошибки в консоли есть?
Попробуйте вывести
console.log('debug');
после$('#slide a').click(function(e){
- в консоли 'debug' появиться?Такая же проблема. Не туглит
У вас получилось решить?
Консоль не выдаёт никаких ошибок
После пробую добиться хотябы какой-то реакции.
Скопировал код со страницы:
https://drupal.org/node/287259
$(document).ready(function () {
alert('test message');
});
}
подключил через инфо файл. подхватывается скрипт
но никакой реакции
Log
В консоли только эти ошибки
Из-за этих ошибок и может не работать ваш js-код.
Решение которое подошло мне... Drupal 7.14
1. Подключаю скрипт через .info файл
scripts[] = js/theme_engine.js
(сам скрипт лежит в подпапке темы)2. Добавляю в шаблон (например, page.tpl.php) следующий html-код:
<div class="vid-select">
some information
</div>
3. Добавляю в файл theme_engine.js этот код:
jQuery("#admin_view").click(function () {
jQuery(".vid-select").slideToggle("slow");
});
});
Из-за отсутствия явного объявления функций jQuery была ошибка.
Надеюсь вам поможет
Особенно помогли эти ссылки:
http://api.drupal.org/api/drupal/includes!common.inc/function/drupal_add...
https://drupal.org/node/756722
http://api.jquery.com/slideToggle/
Мда...
Drupal.behaviors.exampleModule = {
attach: function (context, settings) {
// Ваш код
}
};
})(jQuery);
и подключаем файл через .info темы
http://drupal.org/node/756722
Поверьте, от того, что вы подключили behaviors код более рабочим у ТС не станет
комрады, спасайте советом.
в тугл диве лежит форма обратной связи и при сабмите страница обновляется и тугл закрывается. есть какиенибудь способы запоминать положение?
Решил вставить форму iFrame'ом. Не очень корявое решение?