Projet

Général

Profil

Paste
Télécharger (2,27 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / flexslider / assets / js / flexslider.load.js @ a60304ed

1 85ad3d82 Assos Assos
(function($) {
2
3
  // Behavior to load FlexSlider
4
  Drupal.behaviors.flexslider = {
5
    attach: function(context, settings) {
6 a60304ed Assos Assos
      var id;
7 85ad3d82 Assos Assos
      var sliders = [];
8
      if ($.type(settings.flexslider) !== 'undefined' && $.type(settings.flexslider.instances) !== 'undefined') {
9
10
        for (id in settings.flexslider.instances) {
11
12
          if (settings.flexslider.optionsets[settings.flexslider.instances[id]] !== undefined) {
13
            if (settings.flexslider.optionsets[settings.flexslider.instances[id]].asNavFor !== '') {
14
              // We have to initialize all the sliders which are "asNavFor" first.
15
              _flexslider_init(id, settings.flexslider.optionsets[settings.flexslider.instances[id]], context);
16
            } else {
17
              // Everyone else is second
18
              sliders[id] = settings.flexslider.optionsets[settings.flexslider.instances[id]];
19
            }
20
          }
21
        }
22
      }
23
      // Slider set
24
      for (id in sliders) {
25
        _flexslider_init(id, settings.flexslider.optionsets[settings.flexslider.instances[id]], context);
26
      }
27
    }
28
  };
29
30
  /**
31
   * Initialize the flexslider instance
32
   */
33
34
  function _flexslider_init(id, optionset, context) {
35
    $('#' + id, context).once('flexslider', function() {
36
      // Remove width/height attributes
37
      // @todo load the css path from the settings
38 a60304ed Assos Assos
      $(this).find('ul.slides > li *').removeAttr('width').removeAttr('height');
39 85ad3d82 Assos Assos
40
      if (optionset) {
41
        // Add events that developers can use to interact.
42
        $(this).flexslider($.extend(optionset, {
43
          start: function(slider) {
44 a60304ed Assos Assos
            slider.trigger('start', [slider]);
45 85ad3d82 Assos Assos
          },
46
          before: function(slider) {
47 a60304ed Assos Assos
            slider.trigger('before', [slider]);
48 85ad3d82 Assos Assos
          },
49
          after: function(slider) {
50 a60304ed Assos Assos
            slider.trigger('after', [slider]);
51 85ad3d82 Assos Assos
          },
52
          end: function(slider) {
53 a60304ed Assos Assos
            slider.trigger('end', [slider]);
54 85ad3d82 Assos Assos
          },
55
          added: function(slider) {
56 a60304ed Assos Assos
            slider.trigger('added', [slider]);
57 85ad3d82 Assos Assos
          },
58
          removed: function(slider) {
59 a60304ed Assos Assos
            slider.trigger('removed', [slider]);
60
          },
61
          init: function(slider) {
62
            slider.trigger('init', [slider]);
63 85ad3d82 Assos Assos
          }
64
        }));
65
      } else {
66
        $(this).flexslider();
67
      }
68
    });
69
  }
70
71
}(jQuery));