/* =============================================
name : top.js
============================================= */
var app;
$(function(){
var $win = $(window),
$sideNaviPrev = $("#side-navi .prev"),
$sideNaviNext = $("#side-navi .next");
var scrollTop = 0;
app = {
init : function(){
this.resizeEvent();
this.scrollEvent();
this.sideNavi.init();
},
sideNavi : {
target : [
"content",
"purposeArea_scrollTop",
"nature",
"beach",
"city",
"diving",
"ladies"
],
init : function(){
var _this = this;
_this.targetPos = new Array();
$.each(_this.target, function(){
_this.targetPos.push($("#" + this).offset().top);
});
_this.clickEvent();
},
clickEvent : function(){
var _this = this;
var myClickEvent = 'click.appSideNavi';
$sideNaviPrev.off(myClickEvent).on(myClickEvent, function(){
_this.setTarget("prev");
return false;
});
$sideNaviNext.off(myClickEvent).on(myClickEvent, function(){
_this.setTarget("next");
return false;
});
},
setTarget : function(dir){
var _this = this;
var num;
$.each(_this.targetPos, function(i){
if(scrollTop < ( this - 1 )){
if(dir === "prev"){
num = i - 2;
}else if(dir === "next"){
num = i;
}else{
return false;
}
if(num < 0){
num = 0;
}
_this.scrollToTarget(_this.target[num]);
return false;
/*}else if(scrollTop === (_this.targetPos[_this.targetPos.length - 1] - 1)){
if(dir === "prev"){
num = _this.targetPos.length - 2;
}else{
return false;
}
_this.scrollToTarget(_this.target[num]);
return false;*/
}else if(scrollTop >= (_this.targetPos[_this.targetPos.length - 1] - 1)){
if(dir === "prev"){
num = _this.targetPos.length - 2;
}else{
return false;
}
_this.scrollToTarget(_this.target[num]);
return false;
}
});
},
scrollToTarget : function(_target){
var $target = $("#" + _target);
if ($target.length) {
var targetOffset = $target.offset().top;
jQuery('html,body').stop().animate({ scrollTop: targetOffset }, 600, 'swing');
}
}
},
resizeEvent : function(){
var _this = this;
$win.resize(function(){
_this.sideNavi.init();
});
},
scrollEvent : function(){
$win.scroll(function(){
scrollTop = $(this).scrollTop();
});
}
}
});