Помогите с плагином headhesive.js-master

418
26 ноября 2016, 19:44

есть проблема, я сделал хедер плавающим и в нем есть картинки с ссылкой на соц сети, но она в нем не работают... Отключаю плагин и все работает. Помогите найти то, что блокирует ссылки в коде 
 
    (function(root, factory) { 
       if (typeof define === "function" && define.amd) { 
       define([], function() { 
       return factory(); 
    }); 
    } else if (typeof exports === "object") { 
    module.exports = factory(); 
    } else { 
    root.Headhesive = factory(); 
    } 
    })(this, function() { 
      "use strict"; 
      var _mergeObj = function(to, from) { 
      for (var p in from) { 
      if (from.hasOwnProperty(p)) { 
          to[p] = typeof from[p] === "object" ? _mergeObj(to[p], from[p]) :          from[p]; 
       } 
    } 
    return to; 
    }; 
     var _throttle = function(func, wait) { 
    var _now = Date.now || function() { 
      return new Date().getTime(); 
    }; 
    var context, args, result; 
    var timeout = null; 
    var previous = 0; 
    var later = function() { 
      previous = _now(); 
      timeout = null; 
      result = func.apply(context, args); 
      context = args = null; 
    }; 
    return function() { 
      var now = _now(); 
      var remaining = wait - (now - previous); 
      context = this; 
      args = arguments; 
      if (remaining <= 0) { 
        clearTimeout(timeout); 
        timeout = null; 
        previous = now; 
        result = func.apply(context, args); 
        context = args = null; 
      } else if (!timeout) { 
        timeout = setTimeout(later, remaining); 
      } 
      return result; 
    }; 
  }; 
      var _getScrollY = function() { 
      return window.pageYOffset !== undefined ? window.pageYOffset :       (document.documentElement || document.body.parentNode ||     document.body).scrollTop; 
       }; 
       var _getElemY = function(elem, side) { 
       var pos = 0; 
       var elemHeight = elem.offsetHeight; 
       while (elem) { 
       pos += elem.offsetTop; 
       elem = elem.offsetParent; 
       } 
      if (side === "bottom") { 
      pos = pos + elemHeight; 
      } 
      return pos; 
      }; 
      var Headhesive = function(elem, options) { 
      if (!("querySelector" in document && "addEventListener" in window)) { 
      return; 
      } 
      this.visible = false; 
      this.options = { 
      offset: 300, 
      offsetSide: "top", 
      classes: { 
        clone: "headhesive", 
        stick: "headhesive--stick", 
        unstick: "headhesive--unstick" 
      }, 
      throttle: 250, 
      onInit: function() {}, 
      onStick: function() {}, 
      onUnstick: function() {}, 
      onDestroy: function() {} 
    }; 
    this.elem = typeof elem === "string" ? document.querySelector(elem) : elem; 
    this.options = _mergeObj(this.options, options); 
    this.init(); 
  }; 
    Headhesive.prototype = { 
    constructor: Headhesive, 
    init: function() { 
      this.clonedElem = this.elem.cloneNode(true); 
      this.clonedElem.className += " " + this.options.classes.clone; 
      document.body.insertBefore(this.clonedElem, document.body.firstChild); 
      if (typeof this.options.offset === "number") { 
        this.scrollOffset = this.options.offset; 
      } else if (typeof this.options.offset === "string") { 
        this._setScrollOffset(); 
      } else { 
        throw new Error("Invalid offset: " + this.options.offset); 
      } 
      this._throttleUpdate = _throttle(this.update.bind(this), this.options.throttle); 
      this._throttleScrollOffset = _throttle(this._setScrollOffset.bind(this), this.options.throttle); 
      window.addEventListener("scroll", this._throttleUpdate, false); 
      window.addEventListener("resize", this._throttleScrollOffset, false); 
      this.options.onInit.call(this); 
    }, 
    _setScrollOffset: function() { 
      if (typeof this.options.offset === "string") { 
        this.scrollOffset = _getElemY(document.querySelector(this.options.offset), this.options.offsetSide); 
      } 
    }, 
    destroy: function() { 
      document.body.removeChild(this.clonedElem); 
      window.removeEventListener("scroll", this._throttleUpdate); 
      window.removeEventListener("resize", this._throttleScrollOffset); 
      this.options.onDestroy.call(this); 
    }, 
    stick: function() { 
      if (!this.visible) { 
        this.clonedElem.className = this.clonedElem.className.replace(new RegExp("(^|\\s)*" + this.options.classes.unstick + "(\\s|$)*", "g"), ""); 
        this.clonedElem.className += " " + this.options.classes.stick; 
        this.visible = true; 
        this.options.onStick.call(this); 
      } 
    }, 
    unstick: function() { 
      if (this.visible) { 
        this.clonedElem.className = this.clonedElem.className.replace(new RegExp("(^|\\s)*" + this.options.classes.stick + "(\\s|$)*", "g"), ""); 
        this.clonedElem.className += " " + this.options.classes.unstick; 
        this.visible = false; 
        this.options.onUnstick.call(this); 
      } 
    }, 
    update: function() { 
      if (_getScrollY() > this.scrollOffset) { 
        this.stick(); 
      } else { 
        this.unstick(); 
      } 
    } 
  }; 
  return Headhesive; 
}); 

READ ALSO
&ldquo;Стирающий&rdquo; position: fixed блок HTML

“Стирающий” position: fixed блок HTML

Привет всемВозникла проблема с реализацией эффекта при верстке страницы

313
Выполнение &lt;script&gt; При определенном class

Выполнение <script> При определенном class

Есть связанные выпадающие списки и во втором списке к первому присвоен classКак сделать чтобы скрипт js выполнялся только при определенном...

261
Реализация слайдера

Реализация слайдера

Как реализовать слайдер, такой же как на этом сайте? https://tjournalru/36774-bivshii-agent-fbr-sgorel-vo-vzorvavsheisya-v-avarii-tesla

262
Как правильно использовать media queries ?

Как правильно использовать media queries ?

При достижении 900 - px , мне надо чтобыlogo заняло 100 процентов ширины в главном

273