• Как в Drupal 7, всем выводимым в шапке скриптам js указать тип скрипта?

    WebThinker
    @WebThinker Автор вопроса
    Жизнь слишком коротка, чтобы ее просто про срать.
    В общем поступил вот так.
    Написал не замысловатый скриптик myj.js, его подключил через файл инфо с названием темы.
    $import("/js/myjs1.js");
    $import("/js/myjs2.js");
    $import("/js/myjs3.js");
    function $import(path){
        var  scripts = document.write("<" + "script async src=\"" + path + "\"></" + "script>");
    }

    А через него уже импортом прогнал нужные мне скрипты с нужным мне атрибутом. Работает прекрасно.
    Правда не знаю, кашерно ли это. Отпишитесь по возможности, ваше мнение всегда ценю.
    Ответ написан
    Комментировать
  • Прошу помочь с javascript'ом основанном на JQuery?

    WebThinker
    @WebThinker Автор вопроса
    Жизнь слишком коротка, чтобы ее просто про срать.
    Подправил согласно ману на сайтеlabs.rampinteractive.co.uk/touchSwipe/demos/Swipe_...
    Получилось так.
    $("wrap-content").swipe({
        swipeStatus:function(event, phase, direction, distance, duration, fingers)
        {
          if (phase!="move" && direction!="right") {
            $(".menubar").addClass("open-menubar");
            return false;
          }
          if (phase!="move" && direction!="left") {
            $(".menubar").removeClass("open-menubar");
            return false;
          }
        }
      });

    Но при этом ошибка пропала, но начал ругаться на меня, bootstrap.js строкой 16 согласно которой ​
    $(context).find('.tabbable').once('bootstrap-tabs', function () {

    и сообщение об ошибке Uncaught TypeError: $(...).find(...).once is not a function

    И так! Проблема решилась и всё работает на ура!
    Дело в том, как оказалось, нельзя свайп наpначать на если внутри, уже отрабатывается скрипт на открытие и закрытие, в моем случае data-toggle. А я начал копать в сторону свайп скрипта. И из за не правильного толкования документации по ссылке выше, начал править скрипт который указан выше. Тем самым, завел себя еще дальше в дебри. Оказалось, что всё просто.
    jQuery(document).ready(function($) {
      $('[data-toggle]').click(function() {
        var toggle_el = $(this).data('toggle');
        $(toggle_el).toggleClass('open-menubar');
      });
      $("#wrap-content").swipe({
        swipeStatus:function(event, phase, direction, distance, duration, fingers){
          if (phase=="move" && direction=="right") {
            $(".menubar").addClass("open-menubar");
            return false;
          }
          if (phase=="move" && direction=="left") {
            $(".menubar").removeClass("open-menubar");
              return false;
          }
        }
      });
    });

    При помощи Дмитрия Дмитрий Первая часть скрипта начала работать, а во второй части, надо было, всего лишь, правильно указать регион, где должен отрабатываться скрипт, убрать лишние пробелы и перед использование, почистить кэш браузера.
    PS: Скрипт можен не работать при применении к блоку, так что лучше обернуть блок в дивку, назначить ей класс к примеру "menubar" и уже к этой обертке применять данный скрипт.
    Всем, спасибо. И не судите строго, за корявое описание. Пишу по мере своих познаний.
    Ответ написан
    Комментировать