123456789101112131415161718192021222324252627282930313233 |
- (function($) {
- Drupal.behaviors.moduleFilterDynamicPosition = {
- attach: function() {
- $(window).scroll(function() {
- // Vertical movement.
- var top = $('#module-filter-tabs').offset().top;
- var bottom = top + $('#module-filter-tabs').height();
- var windowHeight = $(window).height();
- if (((bottom - windowHeight) > ($(window).scrollTop() - $('#module-filter-submit').height())) && $(window).scrollTop() + windowHeight - $('#module-filter-submit').height() - $('#all-tab').height() > top) {
- $('#module-filter-submit').removeClass('fixed-top').addClass('fixed fixed-bottom');
- }
- else if (bottom < $(window).scrollTop()) {
- $('#module-filter-submit').removeClass('fixed-bottom').addClass('fixed fixed-top');
- }
- else {
- $('#module-filter-submit').removeClass('fixed fixed-bottom fixed-top');
- }
- // Horizontal movement.
- if ($('#module-filter-submit').hasClass('fixed-bottom') || $('#module-filter-submit').hasClass('fixed-top')) {
- var left = $('#module-filter-tabs').offset().left - $(window).scrollLeft();
- if (left != $('#module-filter-submit').offset().left - $(window).scrollLeft()) {
- $('#module-filter-submit').css('left', left);
- }
- }
- });
- $(window).trigger('scroll');
- $(window).resize(function() {
- $(window).trigger('scroll');
- });
- }
- }
- })(jQuery);
|