%PDF- %PDF-
Direktori : /www/varak.net/www.varak.net/js/ |
Current File : //www/varak.net/www.varak.net/js/custom.js |
jQuery(function($){ "use strict"; /*------------------------------------------------------------------ Passed Options From Back-End ------------------------------------------------------------------*/ var home_url = "http://demo.spnoy.com/ronika"; var lightbox_gallery_mode = "1"; var lightbox_close_button = "1"; var lightbox_close_button_position = "true"; var lightbox_align = "false"; var navigation_scroll_speed = "600"; var animation_switch = "0"; var sticky_header_switch = "1"; /*------------------------------------------------------------------ Provide fallback for SVGs ------------------------------------------------------------------*/ if (!Modernizr.svg) { $('img[src$="svg"]').attr('src', function() { return $(this).attr('src').replace('.svg', '.png'); }); } /*------------------------------------------------------------------ Ronika Gallery Slider ------------------------------------------------------------------*/ var ronika_gallery_slider = 0; $('.ronika-gallery-items').imagesLoaded().always( function( instance ) { $('.ronika-gallery-items').isotope({ itemSelector : '.item', layoutMode: 'fitColumns', animationEngine : 'jquery' }, function() { $(this).find('img').css('height','auto'); var i = 0, $children = $(this).children('.isotope-item'), children_size = $children.size(); var interval = setInterval( function() { $children.eq(i).addClass('stage-ready'); i++; if ( i > children_size ) clearInterval(interval); }, 300); }); if ( $('.ronika-gallery-items').width() > $('.ronika-gallery-items').parent().width() + 25 ) { TweenLite.to( $('#scrollbar'), 2, { css: { 'opacity': '1' }, ease: Power2.easeInOut, delay: 0 }); } ronika_gallery_slider = new Sly( jQuery(".ronika-gallery-slider"), { scrollBar : '#scrollbar', horizontal: 1, scrollBy: 100, dragHandle: 1, dynamicHandle: 1, itemNav: 0, clickBar: 1, speed: 600, mouseDragging: 1, touchDragging: 1, releaseSwing: 1, swingSpeed: 0.1, elasticBounds: 1, cycleBy: null, cycleInterval: 4000 }).init(); $('.ronika-gallery-items .mfp').magnificPopup({ type: 'inline', gallery: { enabled: Boolean(parseInt(lightbox_gallery_mode, 10)) }, removalDelay: 600, showCloseBtn: Boolean(parseInt(lightbox_close_button, 10)), closeBtnInside: (lightbox_close_button_position == 'true'), alignTop: (lightbox_align == 'true'), mainClass: 'mfp-fade' }); }); /*------------------------------------------------------------------ Responsive Main Menu ------------------------------------------------------------------*/ selectnav('main-navigation' , { indent: 'ยป' }); /*------------------------------------------------------------------ Main Menu ------------------------------------------------------------------*/ if ( $('body').hasClass('home') && $('body').hasClass('page-template-template-home-php') ) { var mainnav_offset = 83, mainnav_offset_mobile = 80; if ( sticky_header_switch == 0 ) { mainnav_offset = 0; mainnav_offset_mobile = 0; } $('#main-navigation').onePageNav({ currentClass: 'current_page_item', changeHash: false, scrollSpeed: parseInt(navigation_scroll_speed, 10), scrollOffset: mainnav_offset, scrollThreshold: 0.5, filter: ':not(.external)', easing: 'easeInOutExpo' }); var page_url = window.location.href, hash = page_url.substring( page_url.lastIndexOf("#") + 1 ); if ( $('div[id="' + hash + '"]' ).length > 0 ) { var top = $('div[id="' + hash + '"]' ).offset().top - mainnav_offset; $("html, body").animate({ scrollTop : top } , 600, 'easeInOutExpo'); } } $('#selectnav1').change( function() { var target = $(this).val(), index = target.indexOf("#"), target = target.substring(index); $(window).scrollTop( $(target).offset().top - mainnav_offset_mobile); return false; }); // Center Sub Menu $('#main-navigation').children('li').hover( function() { if ( $(this).children('ul').length > 0 ) { var li_width = $(this).outerWidth(false), sub = $(this).children('ul'), sub_width = sub.outerWidth(), point = null; if ( sub_width > li_width ) { point = (sub_width/2) - (li_width/2); sub.css('left',-point); } else { point = (li_width/2) - (sub_width/2); sub.css('left', point); } } }); /*------------------------------------------------------------------ Animate Elements ------------------------------------------------------------------*/ function animate( $element, speed, delay, offset, state ) { if ( state === 'scale-up') { TweenLite.to( $element, 0, { css: { 'opacity': '0', scaleX: 0.9 * offset, scaleY: 0.9 * offset } } ); TweenLite.to( $element, speed, { css: { 'opacity': '1', scaleX: 1, scaleY: 1}, ease: Power4.easeInOut, delay: delay }); } else if ( state === 'scale-down' ) { TweenLite.to( $element, 0, { css: { 'opacity': '0', scaleX: 1.1 * offset, scaleY: 1.1 * offset } } ); TweenLite.to( $element, speed, { css: { 'opacity': '1', scaleX: 1, scaleY: 1}, ease: Power4.easeInOut, delay: delay }); } else if ( state === 'fade' ) { TweenLite.to( $element, 0, { css: { 'opacity': '0' } } ); TweenLite.to( $element, speed, { css: { 'opacity': '1', x: 0, y: 0 }, ease: Power4.easeInOut, delay: delay }); } else if ( state === 'fade-from-top' ) { TweenLite.to( $element, 0, { css: { 'opacity': '0', y: -35 * offset } } ); TweenLite.to( $element, speed, { css: { 'opacity': '1', x: 0, y: 0 }, ease: Power4.easeInOut, delay: delay }); } else if ( state === 'fade-from-bottom' ) { TweenLite.to( $element, 0, { css: { 'opacity': '0', y: 35 * offset } } ); TweenLite.to( $element, speed, { css: { 'opacity': '1', x: 0, y: 0 }, ease: Power4.easeInOut, delay: delay }); } else if ( state === 'fade-from-left' ) { TweenLite.to( $element, 0, { css: { 'opacity': '0', x: -35 * offset } } ); TweenLite.to( $element, speed, { css: { 'opacity': '1', x: 0, y: 0 }, ease: Power4.easeInOut, delay: delay }); } else if ( state === 'fade-from-right' ) { TweenLite.to( $element, 0, { css: { 'opacity': '0', x: 35 * offset } } ); TweenLite.to( $element, speed, { css: { 'opacity': '1', x: 0, y: 0 }, ease: Power4.easeInOut, delay: delay }); } } if ( Modernizr.touch && animation_switch == 0 ) { // If it was a touch device and animation is off // Avoid scolling animation on touch devices } else { $('.effect-scale-up, .effect-scale-down, .effect-fade, .effect-fade-from-top, .effect-fade-from-bottom, .effect-fade-from-left, .effect-fade-from-right').each( function() { TweenLite.to( $(this), 0, { css: { 'opacity': '0' } } ); }); $('.effect-scale-up').waypoint( function() { animate( $(this), $(this).attr('data-effect-speed'), $(this).attr('data-effect-delay'), $(this).attr('data-effect-offset'), 'scale-up' ); }, { offset: '90%' , triggerOnce: true }); $('.effect-scale-down').waypoint( function() { animate( $(this), $(this).attr('data-effect-speed'), $(this).attr('data-effect-delay'), $(this).attr('data-effect-offset'), 'scale-down' ); }, { offset: '90%' , triggerOnce: true }); $('.effect-fade').waypoint( function() { animate( $(this), $(this).attr('data-effect-speed'), $(this).attr('data-effect-delay'), $(this).attr('data-effect-offset'), 'fade' ); }, { offset: '90%' , triggerOnce: true }); $('.effect-fade-from-top').waypoint( function() { animate( $(this), $(this).attr('data-effect-speed'), $(this).attr('data-effect-delay'), $(this).attr('data-effect-offset'), 'fade-from-top' ); }, { offset: '90%' , triggerOnce: true }); $('.effect-fade-from-bottom').waypoint( function() { animate( $(this), $(this).attr('data-effect-speed'), $(this).attr('data-effect-delay'), $(this).attr('data-effect-offset'), 'fade-from-bottom' ); }, { offset: '90%' , triggerOnce: true }); $('.effect-fade-from-left').waypoint( function() { animate( $(this), $(this).attr('data-effect-speed'), $(this).attr('data-effect-delay'), $(this).attr('data-effect-offset'), 'fade-from-left' ); }, { offset: '90%' , triggerOnce: true }); $('.effect-fade-from-right').waypoint( function() { animate( $(this), $(this).attr('data-effect-speed'), $(this).attr('data-effect-delay'), $(this).attr('data-effect-offset'), 'fade-from-right' ); }, { offset: '90%' , triggerOnce: true }); TweenLite.to( $('.default-animate'), 0, { css:{ 'opacity': '0', scaleX: 0.9, scaleY: 0.9 }}); TweenLite.to( $('.title-animate span'), 0, { css:{ 'opacity': '0', scaleX: 0.1, scaleY: 0.1 }}); TweenLite.to( $('.title-animate strong'), 0, { css:{ 'opacity': '0', x: -80 }}); TweenLite.to( $('.content-container.centering .title-animate'), 0, { css:{ 'opacity': '0', y: -40 }}); TweenLite.to( $('.content-container.centering .title-animate strong'), 0, { css:{ 'opacity': '1', y: 0, x: 0 }}); $('.default-animate').waypoint( function() { animate( $(this), 1, 0 ); }, { offset: '90%' , triggerOnce: true }); $('.title-animate').waypoint( function() { TweenLite.to( $(this).children('span'), 1, { css: { 'opacity': '1', scaleX: 1, scaleY: 1 }, ease: Power4.easeInOut, delay: 0 }); TweenLite.to( $(this).children('strong'), 1, { css: { 'opacity': '1', x: 0 }, ease: Power4.easeInOut, delay: 0.6 }); }, { offset: '90%' , triggerOnce: true }); $('.content-container.centering .title-animate').waypoint( function() { TweenLite.to( $(this), 1, { css: { 'opacity': '1', y: 0 }, ease: Power4.easeInOut, delay: 0 }); }, { offset: '90%' , triggerOnce: true }); } /*------------------------------------------------------------------ Flexslider Initializing ------------------------------------------------------------------*/ $('.flexslider').flexslider({ animation: "fade", directionNav: true, controlNav: false, smoothHeight: true }); /*------------------------------------------------------------------ Background Parallax Effect ------------------------------------------------------------------*/ if ( !Modernizr.touch ) { if ( $(window).width() > 961 ) { $.stellar({ horizontalScrolling: false, verticalScrolling: true, horizontalOffset: 0, verticalOffset: 0, responsive: false, scrollProperty: 'scroll', positionProperty: 'position', parallaxBackgrounds: true, parallaxElements: false, }); } } /*------------------------------------------------------------------ Alerts ------------------------------------------------------------------*/ $('.alert-message').click( function() { TweenLite.to( $(this), 0.6, { css: { 'opacity': '0', scaleX: 1.1, scaleY: 1.1, 'display' : 'none' }, delay: 0 }); }); /*------------------------------------------------------------------ Skills ------------------------------------------------------------------*/ $('.skill').css( 'width', function() { return $(this).attr('data-size'); }); /*------------------------------------------------------------------ Gap ------------------------------------------------------------------*/ $('.gap').css('height', function () { return $(this).attr('data-height-size'); }); /*------------------------------------------------------------------ Featured Portfollio Hover ------------------------------------------------------------------*/ $('.portfolio-image').hover( function() { $(this).children('.portfolio-hover').css( 'height', function() { return $(this).parent().height(); }); }); /*------------------------------------------------------------------ Featured Portfolio Lightbox ------------------------------------------------------------------*/ $('.featured-portfolio').magnificPopup({ type: 'inline', delegate: 'a.item-format', gallery: { enabled: Boolean(parseInt(lightbox_gallery_mode, 10)) }, removalDelay: 600, showCloseBtn: Boolean(parseInt(lightbox_close_button, 10)), closeBtnInside: (lightbox_close_button_position == 'true'), alignTop: (lightbox_align == 'true'), mainClass: 'mfp-fade' }); /*------------------------------------------------------------------ Enquire ------------------------------------------------------------------*/ var screen_sizes = ['large-desktop','small-desktop','tablet','phone'].join(' '); function body_class(size) { $('body').removeClass(screen_sizes); $('body').addClass(size); } enquire.register("screen and (min-width: 1183px)", { match : function() { body_class('large-desktop'); $('.page-container, .blog-container').css({ marginTop : '' }); } }).register("screen and (min-width: 962px) and (max-width: 1182px)", { match : function() { body_class('small-desktop'); $('.page-container, .blog-container').css({ marginTop : '' }); } }).register("screen and (min-width: 481px) and (max-width: 961px)", { match : function() { body_class('tablet'); $('.page-container, .blog-container').css({ marginTop : function() { return $('.header').outerHeight(); } }); } }).register("screen and (max-width: 480px)", { match : function() { body_class('phone'); $('.page-container, .blog-container').css({ marginTop : function() { return $('.header').outerHeight(); } }); } }); /*------------------------------------------------------------------ Sticky Header ------------------------------------------------------------------*/ function update_header_func() { if ( sticky_header_switch == 1 ) { // If sticky header switch was on var window_scroll = jQuery(window).scrollTop(); if ( jQuery('body').hasClass('tablet') || jQuery('body').hasClass('phone') ) { if ( window_scroll > 50 ) { jQuery('.header').addClass('on-scroll on-touch'); jQuery('.page-container').addClass('sticky-header-on'); jQuery('.blog-container').addClass('sticky-header-on'); } else { jQuery('.header').removeClass('on-scroll on-touch'); jQuery('.page-container').removeClass('sticky-header-on'); jQuery('.blog-container').removeClass('sticky-header-on'); setTimeout( function() { jQuery('.page-container, .blog-container').css({ marginTop : function() { return jQuery('.header').outerHeight(); } }); } , 300); } } else if ( window_scroll > 50 ) { jQuery('.header').removeClass('on-touch'); jQuery('.header').addClass('on-scroll'); } else { jQuery('.header').removeClass('on-scroll on-touch'); } } if ( ronika_gallery_slider !== 0 ) { // If Ronika Gallery Slider was enable setTimeout( function() { ronika_gallery_slider.reload(); }, 1000); } } var update_header = _.throttle( update_header_func, 100); jQuery(window).scroll(update_header); jQuery(window).resize(update_header); /*------------------------------------------------------------------ Comment List Width Calc ------------------------------------------------------------------*/ function update_comment_width_func() { if ( jQuery(window).width() < 961 ) { jQuery('.comment-meta').css( 'width' , function() { var parent_width = jQuery(this).parent().width(), avatar_width = jQuery(this).siblings('.avatar-border').width(), comment_header_width = (parent_width - avatar_width) - 20; return comment_header_width; }); } else { jQuery('.comment-meta').css('width', ''); } } update_comment_width_func(); // Execute once after DOM loaded var update_comment_width = _.throttle( update_comment_width_func, 100); jQuery(window).resize(update_comment_width); /*------------------------------------------------------------------ Fixing & Polishing ------------------------------------------------------------------*/ $("body").fitVids(); });