roxcoder

main.js

Nov 23rd, 2015
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2. * @package Helix3 Framework
  3. * @author JoomShaper http://www.joomshaper.com
  4. * @copyright Copyright (c) 2010 - 2015 JoomShaper
  5. * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
  6. */
  7. jQuery(function($) {
  8.  
  9.     var $body = $('body'),
  10.     $wrapper = $('.body-innerwrapper'),
  11.     $toggler = $('#offcanvas-toggler'),
  12.     $close = $('.close-offcanvas'),
  13.     $offCanvas = $('.offcanvas-menu');
  14.  
  15.     $toggler.on('click', function(event){
  16.         event.preventDefault();
  17.         stopBubble (event);
  18.         setTimeout(offCanvasShow, 50);
  19.     });
  20.  
  21.     $close.on('click', function(event){
  22.         event.preventDefault();
  23.         offCanvasClose();
  24.     });
  25.     $('.offcanvas-menu .offcanvas-inner .sp-module ul > li:not(.no-scroll) a').on('click', function(event){
  26.         //event.preventDefault();
  27.         offCanvasClose();
  28.     });
  29.     var offCanvasShow = function(){
  30.         $body.addClass('offcanvas');
  31.         $wrapper.on('click',offCanvasClose);
  32.         $close.on('click',offCanvasClose);
  33.         $offCanvas.on('click',stopBubble);
  34.  
  35.     };
  36.  
  37.     var offCanvasClose = function(){
  38.         $body.removeClass('offcanvas');
  39.         $wrapper.off('click',offCanvasClose);
  40.         $close.off('click',offCanvasClose);
  41.         $offCanvas.off('click',stopBubble);
  42.     };
  43.  
  44.     var stopBubble = function (e) {
  45.         e.stopPropagation();
  46.         return true;
  47.     };
  48.  
  49.     //Mega Menu
  50.     $('.sp-megamenu-wrapper').parent().parent().css('position','static').parent().css('position', 'relative');
  51.     $('.sp-menu-full').each(function(){
  52.         $(this).parent().addClass('menu-justify');
  53.     });
  54.  
  55.     //Sticky Menu
  56.     // $(document).ready(function(){
  57.     //     $("body.sticky-header").find('#sp-header').sticky({topSpacing:0});
  58.     //     // if has slideshow then add class
  59.     //     if ($("body.com-sppagebuilder #sp-page-builder .sppb-slider-fullwidth-wrapper").length) {
  60.     //         $("#sp-header-sticky-wrapper").addClass('has-slideshow');
  61.     //     }
  62.     // });
  63.     //teams
  64.     $('.sppb-teams li').mouseenter(function(){
  65.             $('.sppb-teams li').removeClass('active');
  66.             $(this).addClass('active');
  67.         }).mouseleave(function(){
  68.             $('.sppb-teams li').removeClass('active');
  69.             $('.sppb-teams li.first-item').addClass('active');
  70.         });
  71.  
  72.     //menu after slideshow
  73.     $(document).ready(function(){
  74.         // if has slideshow then add class
  75.         if ($("body.com-sppagebuilder #sp-page-builder .sppb-slider-fullwidth-wrapper").length) {
  76.             $("#sp-header").addClass('has-slideshow');
  77.         }
  78.     });
  79.  
  80.     // Add class menu-fixed when scroll
  81.     var windowWidth = $(window).width();
  82.  
  83.     if ($('body').hasClass('home')) { var windowHeight = $(window).height() -70; } else { var windowHeight = $('#sp-menu').offset().top; };
  84.    
  85.     if (windowWidth > 979){
  86.         //var stickyNavTop = $('#sp-menu').offset().top;
  87.         var stickyNav = function(){
  88.             var scrollTop = $(window).scrollTop();
  89.  
  90.             if (scrollTop > windowHeight) {
  91.                 $('#sp-header').removeClass('menu-fixed-out')
  92.                 .addClass('menu-fixed');
  93.             }
  94.             else
  95.             {
  96.                 if($('#sp-header').hasClass('menu-fixed'))
  97.                 {
  98.                     $('#sp-header').removeClass('menu-fixed').addClass('menu-fixed-out');
  99.                 }
  100.                
  101.             }
  102.  
  103.         };
  104.  
  105.         stickyNav();
  106.  
  107.         $(window).scroll(function() {
  108.             stickyNav();
  109.         });
  110.     }else{
  111.         $('#sp-header').removeClass('menu-fixed-out')
  112.         .addClass('menu-fixed');
  113.     }
  114.  
  115.  
  116.     // ******* Menu link ******** //
  117.     var homeSectionId = $('#sp-page-builder > .page-content > section:first-child').attr('id');   // home section id
  118.  
  119.     //if (homeSectionId) { var homeSectionId = homeSectionId } else { var homeSectionId = onePageUrl }
  120.  
  121.     $('.sp-megamenu-wrapper ul, .nav.menu').find('li:not(".no-scroll")').each(function(i, el) {
  122.         var $that    = $(this),
  123.             $anchor  = $that.children('a'),
  124.             url      = $anchor.attr('href'),
  125.             splitUrl = url.split('#');
  126.  
  127.         if ($that.hasClass('home')) {
  128.             if (homeSectionId) {
  129.                 $anchor.attr('href',onePageUrl+'#'+homeSectionId);
  130.             }else{
  131.                 $anchor.attr('href',onePageUrl);
  132.             }
  133.         }else{
  134.             if (typeof splitUrl !== undefined){
  135.                 $anchor.attr('href',onePageUrl+'#'+splitUrl[1]);
  136.             };
  137.         }
  138.     });
  139.  
  140.     //one page nav with smoth scroll and active nav
  141.     //$('.sp-megamenu-parent').onePageNav();
  142.     $('.sp-megamenu-parent, .nav.menu').onePageNav({
  143.         currentClass: 'active',
  144.         changeHash: false,
  145.         scrollSpeed: 900,
  146.         scrollOffset: 30,
  147.         scrollThreshold: 0.5,
  148.         filter: ':not(.no-scroll)'
  149.     });
  150.  
  151.     // $('.sp-megamenu-wrapper ul li a').click(function(){
  152.     //     $('html, body').animate({
  153.     //         scrollTop: $( $(this).attr('href') ).offset().top
  154.     //     }, 900);
  155.     //     return false;
  156.     // });
  157.  
  158.  
  159.     //Slideshow height
  160.     var slideHeight = $(window).height();
  161.     $('.sppb-slider-wrapper.sppb-slider-fullwidth-wrapper .sppb-slideshow-fullwidth-item-bg').css('height',slideHeight);
  162.  
  163.     //Tooltip
  164.     $('[data-toggle="tooltip"]').tooltip();
  165.     $(document).on('click', '.sp-rating .star', function(event) {
  166.         event.preventDefault();
  167.  
  168.         var data = {
  169.             'action':'voting',
  170.             'user_rating' : $(this).data('number'),
  171.             'id' : $(this).closest('.post_rating').attr('id')
  172.         };
  173.  
  174.         var request = {
  175.                 'option' : 'com_ajax',
  176.                 'plugin' : 'helix3',
  177.                 'data'   : data,
  178.                 'format' : 'json'
  179.             };
  180.  
  181.         $.ajax({
  182.             type   : 'POST',
  183.             data   : request,
  184.             beforeSend: function(){
  185.                 $('.post_rating .ajax-loader').show();
  186.             },
  187.             success: function (response) {
  188.                 var data = $.parseJSON(response.data);
  189.  
  190.                 $('.post_rating .ajax-loader').hide();
  191.  
  192.                 if (data.status == 'invalid') {
  193.                     $('.post_rating .voting-result').text('You have already rated this entry!').fadeIn('fast');
  194.                 }else if(data.status == 'false'){
  195.                     $('.post_rating .voting-result').text('Somethings wrong here, try again!').fadeIn('fast');
  196.                 }else if(data.status == 'true'){
  197.                     var rate = data.action;
  198.                     $('.voting-symbol').find('.star').each(function(i) {
  199.                         if (i < rate) {
  200.                            $( ".star" ).eq( -(i+1) ).addClass('active');
  201.                         }
  202.                     });
  203.  
  204.                     $('.post_rating .voting-result').text('Thank You!').fadeIn('fast');
  205.                 }
  206.  
  207.             },
  208.             error: function(){
  209.                 $('.post_rating .ajax-loader').hide();
  210.                 $('.post_rating .voting-result').text('Failed to rate, try again!').fadeIn('fast');
  211.             }
  212.         });
  213.     });
  214.    
  215.  
  216. });
Advertisement
Add Comment
Please, Sign In to add comment