로그인 후 header 프사에 마우스 오버시에 회원메뉴 안뜨는 오류 수정

This commit is contained in:
dlehdanakf 2015-07-06 10:53:46 +09:00
parent 851f44cada
commit d6bcd43964
3 changed files with 3028 additions and 0 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,126 @@
/*
* Parallax-Scroll - v0.2.0
* jQuery plugin for background-attachment: scroll with friction, similar to the parallax scrolling effect on Spotify.
* http://parallax-scroll.aenism.com
*
* Made by Aen Tan
* Under MIT License
*/
;(function (root, factory) {
if (typeof define === "function" && define.amd) {
// AMD. Register as an anonymous module.
define(["jquery"], factory);
} else {
// Browser globals
factory(root.jQuery);
}
}(this, function ($) {
"use strict";
var ParallaxScroll,
defaults = {
friction: 0.5,
direction: "vertical"
},
$win = $(window),
lastTickTime = 0;
window.requestAnimationFrame = function (callback) {
var currTime = new Date().getTime();
var timeToCall = Math.max(0, 5 - (currTime - lastTickTime));
var id = window.setTimeout(function () {
callback(currTime + timeToCall);
}, timeToCall);
lastTickTime = currTime + timeToCall;
return id;
};
ParallaxScroll = function (background, options) {
return {
init: function () {
this.$background = $(background);
this.settings = $.extend({}, defaults, options);
this._initStyles();
this._bindEvents();
},
_initStyles: function () {
this.$background.css({
"background-attachment": "scroll"
});
},
_visibleInViewport: function () {
var vpHeight = $win.height();
var rec = this.$background.get(0).getBoundingClientRect();
return (rec.top < vpHeight && rec.bottom > 0) || (rec.bottom <= vpHeight && rec.top > vpHeight);
},
_bindEvents: function () {
var self = this;
$win.on("load scroll resize", function () {
self._requestTick();
});
},
_requestTick: function () {
var self = this;
if (!this.ticking) {
this.ticking = true;
requestAnimationFrame(function () {
self._updateBgPos();
});
}
},
_updateBgPos: function () {
if (this._visibleInViewport()) {
var winW = $win.width();
var winH = $win.height();
var imgW = this.$background.data("width");
var imgH = this.$background.data("height");
var imgA = imgW / imgH;
var bgW = this.$background.width();
var bgH = this.$background.height();
var bgA = bgW / bgH;
var revA = bgA < imgA;
var bgScale = bgW / imgW;
var bgScaledH = imgH * bgScale;
var bgScaledW = imgW * bgScale;
var bgOffsetTop = this.$background.offset().top;
var winScrollTop = $win.scrollTop();
var bgScrollTop = winScrollTop - bgOffsetTop;
var xDistToMove = winH + bgScaledH;
var yDistToMove = winW + bgScaledW;
var xf1 = bgScrollTop * (winH / xDistToMove);
var xf2 = bgScrollTop / winH;
var yf1 = bgScrollTop * (winW / yDistToMove);
var yf2 = bgScrollTop / winW;
var centerOffsetY = (winH - bgH) / 2;
centerOffsetY = revA ? centerOffsetY * xf2 : centerOffsetY;
var centerOffsetX = (winW - bgW) / 2;
centerOffsetX = revA ? centerOffsetX : centerOffsetX * yf2;
var bgFriction = revA? this.settings.friction * (bgA * 2) : this.settings.friction * bgA;
var bgSize;
var bgPos;
if (this.settings.direction === "horizontal") {
bgSize = revA ? winW + "px auto" : "auto " + winH + "px";
bgPos = (centerOffsetX - (yf1 * bgFriction)) + "px 50%";
} else {
bgSize = revA ? "auto " + winH + "px" : winW + "px auto";
bgPos = "50% " + ((xf1 * bgFriction) - centerOffsetY) + "px";
}
this.$background.css({
"background-size": bgSize,
"background-position": bgPos
});
}
this.ticking = false;
}
};
};
ParallaxScroll.defaults = defaults;
$.fn.parallaxScroll = function (options) {
return this.each(function () {
new ParallaxScroll(this, options).init();
});
};
return ParallaxScroll;
}));

View file

@ -38,6 +38,15 @@
});
$(window).triggerHandler('scroll');
}
// login popup
$hoverEl.on('mouseenter mouseleave focusin focusout',function(e){
e.preventDefault();
if(e.type == 'mouseenter' || e.type == 'focusin'){
$(this).addClass('on');
} else {
$(this).removeClass('on');
}
});
// Search
$searchEl.click(function(){
if($searchForm.is(':hidden')){