1/* ----------------- Start JS Document ----------------- */ 2 3// Page Loader 4$(window).load(function () { 5 "use strict"; 6 $('#loader').fadeOut(); 7}); 8 9$(document).ready(function ($) { 10 "use strict"; 11 //// Hidder Header 12 var headerEle = function () { 13 var $headerHeight = $('header').height(); 14 $('.hidden-header').css({ 'height' : $headerHeight + "px" }); 15 }; 16 17 $(window).load(function () { 18 headerEle(); 19 }); 20 21 $(window).resize(function () { 22 headerEle(); 23 }); 24 25 26 /*---------------------------------------------------*/ 27 /* Progress Bar 28 /*---------------------------------------------------*/ 29 $('.skill-shortcode').appear(function() { 30 $('.progress').each(function(){ 31 $('.progress-bar').css('width', function(){ 32 return ($(this).attr('data-percentage')+'%')}); 33 }); 34 },{accY: -100}); 35 36 37 /*--------------------------------------------------*/ 38 /* Counter 39 /*--------------------------------------------------*/ 40 41 $('.timer').countTo(); 42 $('.counter-item').appear(function() { 43 $('.timer').countTo(); 44 },{ 45 accY: -100 46 }); 47 48 49 /*----------------------------------------------------*/ 50 /* Nice-Scroll 51 /*----------------------------------------------------*/ 52 53 /*$("html").niceScroll({ 54 scrollspeed: 100, 55 mousescrollstep: 38, 56 cursorwidth: 5, 57 cursorborder: 0, 58 cursorcolor: '#333', 59 autohidemode: true, 60 zindex: 999999999, 61 horizrailenabled: false, 62 cursorborderradius: 0, 63 });*/ 64 65 /*----------------------------------------------------*/ 66 /* Nav Menu & Search 67 /*----------------------------------------------------*/ 68 69 $(".nav > li:has(ul)").addClass("drop"); 70 $(".nav > li.drop > ul").addClass("dropdown"); 71 $(".nav > li.drop > ul.dropdown ul").addClass("sup-dropdown"); 72 73 $('.show-search').click(function() { 74 $('.search-form').fadeIn(300); 75 $('.search-form input').focus(); 76 }); 77 $('.search-form input').blur(function() { 78 $('.search-form').fadeOut(300); 79 }); 80 81 /*----------------------------------------------------*/ 82 /* Back Top Link 83 /*----------------------------------------------------*/ 84 85 var offset = 200; 86 var duration = 500; 87 $(window).scroll(function() { 88 if ($(this).scrollTop() > offset) { 89 $('.back-to-top').fadeIn(400); 90 } else { 91 $('.back-to-top').fadeOut(400); 92 } 93 }); 94 $('.back-to-top').click(function(event) { 95 event.preventDefault(); 96 $('html, body').animate({scrollTop: 0}, 600); 97 return false; 98 }) 99 100 /*----------------------------------------------------*/ 101 /* Sliders & Carousel 102 /*----------------------------------------------------*/ 103 104 ////------- Touch Slider 105 var time = 4.4, 106 $progressBar, 107 $bar, 108 $elem, 109 isPause, 110 tick, 111 percentTime; 112 $('.touch-slider').each(function(){ 113 var owl = jQuery(this), 114 sliderNav = $(this).attr('data-slider-navigation'), 115 sliderPag = $(this).attr('data-slider-pagination'), 116 sliderProgressBar = $(this).attr('data-slider-progress-bar'); 117 118 if ( sliderNav == 'false' || sliderNav == '0' ) { 119 var returnSliderNav = false 120 }else { 121 var returnSliderNav = true 122 } 123 124 if ( sliderPag == 'true' || sliderPag == '1' ) { 125 var returnSliderPag = true 126 }else { 127 var returnSliderPag = false 128 } 129 130 if ( sliderProgressBar == 'true' || sliderProgressBar == '1' ) { 131 var returnSliderProgressBar = progressBar 132 var returnAutoPlay = false 133 }else { 134 var returnSliderProgressBar = false 135 var returnAutoPlay = true 136 } 137 138 owl.owlCarousel({ 139 navigation : returnSliderNav, 140 pagination: returnSliderPag, 141 slideSpeed : 400, 142 paginationSpeed : 400, 143 lazyLoad : true, 144 singleItem: true, 145 autoHeight : true, 146 autoPlay: returnAutoPlay, 147 stopOnHover: returnAutoPlay, 148 transitionStyle : "fade", 149 afterInit : returnSliderProgressBar, 150 startDragging : pauseOnDragging 151 }); 152 153 }); 154 155 function progressBar(elem){ 156 $elem = elem; 157 buildProgressBar(); 158 start(); 159 } 160 161 function buildProgressBar(){ 162 $progressBar = $("<div>",{ 163 id:"progressBar" 164 }); 165 $bar = $("<div>",{ 166 id:"bar" 167 }); 168 $progressBar.append($bar).prependTo($elem); 169 } 170 171 function pauseOnDragging(){ 172 isPause = true; 173 } 174 175 ////------- Projects Carousel 176 $(".projects-carousel").owlCarousel({ 177 navigation : true, 178 pagination: false, 179 slideSpeed : 400, 180 stopOnHover: true, 181 autoPlay: 3000, 182 items : 4, 183 itemsDesktopSmall : [900,3], 184 itemsTablet: [600,2], 185 itemsMobile : [479, 1] 186 }); 187 188 189 190 ////------- Testimonials Carousel 191 $(".testimonials-carousel").owlCarousel({ 192 navigation : true, 193 pagination: false, 194 slideSpeed : 2500, 195 stopOnHover: true, 196 autoPlay: 3000, 197 singleItem:true, 198 autoHeight : true, 199 transitionStyle : "fade" 200 }); 201 202 203 204 205 206 207 ////------- Custom Carousel 208 $('.custom-carousel').each(function(){ 209 var owl = jQuery(this), 210 itemsNum = $(this).attr('data-appeared-items'), 211 sliderNavigation = $(this).attr('data-navigation'); 212 213 if ( sliderNavigation == 'false' || sliderNavigation == '0' ) { 214 var returnSliderNavigation = false 215 }else { 216 var returnSliderNavigation = true 217 } 218 if( itemsNum == 1) { 219 var deskitemsNum = 1; 220 var desksmallitemsNum = 1; 221 var tabletitemsNum = 1; 222 } 223 else if (itemsNum >= 2 && itemsNum < 4) { 224 var deskitemsNum = itemsNum; 225 var desksmallitemsNum = itemsNum - 1; 226 var tabletitemsNum = itemsNum - 1; 227 } 228 else if (itemsNum >= 4 && itemsNum < 8) { 229 var deskitemsNum = itemsNum -1; 230 var desksmallitemsNum = itemsNum - 2; 231 var tabletitemsNum = itemsNum - 3; 232 } 233 else { 234 var deskitemsNum = itemsNum -3; 235 var desksmallitemsNum = itemsNum - 6; 236 var tabletitemsNum = itemsNum - 8; 237 } 238 owl.owlCarousel({ 239 slideSpeed : 300, 240 stopOnHover: true,
241 autoPlay: false, 242 navigation : returnSliderNavigation, 243 pagination: false, 244 lazyLoad : true, 245 items : itemsNum, 246 itemsDesktop : [1000,deskitemsNum], 247 itemsDesktopSmall : [900,desksmallitemsNum], 248 itemsTablet: [600,tabletitemsNum], 249 itemsMobile : false, 250 transitionStyle : "goDown", 251 }); 252 }); 253 254 255 256 ////------- Testimonials Carousel 257 $(".fullwidth-projects-carousel").owlCarousel({ 258 navigation : false, 259 pagination: false, 260 slideSpeed : 400, 261 stopOnHover: true, 262 autoPlay: 3000, 263 items : 5, 264 itemsDesktopSmall : [900,3], 265 itemsTablet: [600,2], 266 itemsMobile : [479, 1] 267 }); 268 269 270 271 272 /*----------------------------------------------------*/ 273 /* Tabs 274 /*----------------------------------------------------*/ 275 276 $('#myTab a').click(function (e) { 277 e.preventDefault() 278 $(this).tab('show') 279 }) 280 281 282 283 284 /*----------------------------------------------------*/ 285 /* Css3 Transition 286 /*----------------------------------------------------*/ 287 288 $('*').each(function(){ 289 if($(this).attr('data-animation')) { 290 var $animationName = $(this).attr('data-animation'), 291 $animationDelay = "delay-"+$(this).attr('data-animation-delay'); 292 $(this).appear(function() { 293 $(this).addClass('animated').addClass($animationName); 294 $(this).addClass('animated').addClass($animationDelay); 295 }); 296 } 297 }); 298 299 300 301 302 /*----------------------------------------------------*/ 303 /* Pie Charts 304 /*----------------------------------------------------*/ 305 306 var pieChartClass = 'pieChart', 307 pieChartLoadedClass = 'pie-chart-loaded'; 308 309 function initPieCharts() { 310 var chart = $('.' + pieChartClass); 311 chart.each(function() { 312 $(this).appear(function() { 313 var $this = $(this), 314 chartBarColor = ($this.data('bar-color')) ? $this.data('bar-color') : "#F54F36", 315 chartBarWidth = ($this.data('bar-width')) ? ($this.data('bar-width')) : 150 316 if( !$this.hasClass(pieChartLoadedClass) ) { 317 $this.easyPieChart({ 318 animate: 2000, 319 size: chartBarWidth, 320 lineWidth: 2, 321 scaleColor: false, 322 trackColor: "#eee", 323 barColor: chartBarColor, 324 }).addClass(pieChartLoadedClass); 325 } 326 }); 327 }); 328 } 329 initPieCharts(); 330 331 332 333 334 335 /*----------------------------------------------------*/ 336 /* Animation Progress Bars 337 /*----------------------------------------------------*/ 338 339 $("[data-progress-animation]").each(function() { 340 341 var $this = $(this); 342 343 $this.appear(function() { 344 345 var delay = ($this.attr("data-appear-animation-delay") ? $this.attr("data-appear-animation-delay") : 1); 346 347 if(delay > 1) $this.css("animation-delay", delay + "ms"); 348 349 setTimeout(function() { $this.animate({width: $this.attr("data-progress-animation")}, 800);}, delay); 350 351 }, {accX: 0, accY: -50}); 352 353 }); 354 355 356 357 358 359 /*----------------------------------------------------*/ 360 /* Milestone Counter 361 /*----------------------------------------------------*/ 362 363 jQuery('.milestone-block').each(function() { 364 jQuery(this).appear(function() { 365 var $endNum = parseInt(jQuery(this).find('.milestone-number').text()); 366 jQuery(this).find('.milestone-number').countTo({ 367 from: 0, 368 to: $endNum, 369 speed: 4000, 370 refreshInterval: 60, 371 }); 372 },{accX: 0, accY: 0}); 373 }); 374 375 376 377 378 379 /*----------------------------------------------------*/ 380 /* Nivo Lightbox 381 /*----------------------------------------------------*/ 382 /* 383 $('.lightbox').nivoLightbox({ 384 effect: 'fadeScale', 385 keyboardNav: true, 386 errorMessage: 'The requested content cannot be loaded. Please try again later.' 387 }); 388 */ 389 390 391 392 393 /*----------------------------------------------------*/ 394 /* Change Slider Nav Icons 395 /*----------------------------------------------------*/ 396 397 $('.touch-slider').find('.owl-prev').html('<i class="fa fa-angle-left"></i>'); 398 $('.touch-slider').find('.owl-next').html('<i class="fa fa-angle-right"></i>'); 399 $('.touch-carousel, .testimonials-carousel').find('.owl-prev').html('<i class="fa fa-angle-left"></i>'); 400 $('.touch-carousel, .testimonials-carousel').find('.owl-next').html('<i class="fa fa-angle-right"></i>'); 401 $('.read-more').append('<i class="fa fa-angle-right"></i>'); 402 403 404 405 406 /*----------------------------------------------------*/ 407 /* Tooltips & Fit Vids & Parallax & Text Animations 408 /*----------------------------------------------------*/ 409 /* 410 $("body").fitVids(); 411 412 $('.itl-tooltip').tooltip(); 413 414 $('.bg-parallax').each(function() { 415 $(this).parallax("30%", 0.2); 416 }); 417 418 $('.tlt').textillate({ 419 loop: true, 420 in: { 421 effect: 'fadeInUp', 422 delayScale: 2, 423 delay: 50, 424 sync: false, 425 shuffle: false, 426 reverse: true, 427 }, 428 out: { 429 effect: 'fadeOutUp', 430 delayScale: 2, 431 delay: 50, 432 sync: false, 433 shuffle: false, 434 reverse: true, 435 }, 436 }); 437 438 */ 439
440 441 442 /*----------------------------------------------------*/ 443 /* Sticky Header 444 /*----------------------------------------------------*/ 445 446 (function() { 447 448 var docElem = document.documentElement, 449 didScroll = false, 450 changeHeaderOn = 100; 451 document.querySelector( 'header' ); 452 453 function init() { 454 window.addEventListener( 'scroll', function() { 455 if( !didScroll ) { 456 didScroll = true; 457 setTimeout( scrollPage, 250 ); 458 } 459 }, false ); 460 } 461 462 function scrollPage() { 463 var sy = scrollY(); 464 if ( sy >= changeHeaderOn ) { 465 $('.top-bar').slideUp(300); 466 $("header").addClass("fixed-header"); 467 $('.navbar-brand').css({ 'padding-top' : 19 + "px", 'padding-bottom' : 19 + "px" }); 468 469 if (/iPhone|iPod|BlackBerry/i.test(navigator.userAgent) || $(window).width() < 479 ){ 470 $('.navbar-default .navbar-nav > li > a').css({ 'padding-top' : 0 + "px", 'padding-bottom' : 0 + "px" }) 471 }else{ 472 $('.navbar-default .navbar-nav > li > a').css({ 'padding-top' : 20 + "px", 'padding-bottom' : 20 + "px" }) 473 $('.search-side').css({ 'margin-top' : -7 + "px" }); 474 }; 475 476 } 477 else { 478 $('.top-bar').slideDown(300); 479 $("header").removeClass("fixed-header"); 480 $('.navbar-brand').css({ 'padding-top' : 27 + "px", 'padding-bottom' : 27 + "px" }); 481 482 if (/iPhone|iPod|BlackBerry/i.test(navigator.userAgent) || $(window).width() < 479 ){ 483 $('.navbar-default .navbar-nav > li > a').css({ 'padding-top' : 0 + "px", 'padding-bottom' : 0 + "px" }) 484 }else{ 485 $('.navbar-default .navbar-nav > li > a').css({ 'padding-top' : 28 + "px", 'padding-bottom' : 28 + "px" }) 486 $('.search-side').css({ 'margin-top' : 0 + "px" }); 487 }; 488 489 } 490 didScroll = false; 491 } 492 493 function scrollY() { 494 return window.pageYOffset || docElem.scrollTop; 495 } 496 497 init(); 498 499 500 501 })(); 502}); 503 504 505 506 507/*----------------------------------------------------*/ 508/* Portfolio Isotope 509/*----------------------------------------------------*/ 510/* 511jQuery(window).load(function(){ 512 513 var $container = $('#portfolio'); 514 $container.isotope({ 515 layoutMode : 'masonry', 516 filter: '*', 517 animationOptions: { 518 duration: 750, 519 easing: 'linear', 520 queue: false, 521 } 522 }); 523 524 $('.portfolio-filter ul a').click(function(){ 525 var selector = $(this).attr('data-filter'); 526 $container.isotope({ 527 filter: selector, 528 animationOptions: { 529 duration: 750, 530 easing: 'linear', 531 queue: false, 532 } 533 }); 534 return false; 535 }); 536 537 var $optionSets = $('.portfolio-filter ul'), 538 $optionLinks = $optionSets.find('a'); 539 $optionLinks.click(function(){ 540 var $this = $(this); 541 if ( $this.hasClass('selected') ) { return false; } 542 var $optionSet = $this.parents('.portfolio-filter ul'); 543 $optionSet.find('.selected').removeClass('selected'); 544 $this.addClass('selected'); 545 }); 546 547});*/ 548/* ----------------- End JS Document ----------------- */ 549 550 551 552 553 554 555 556 557// Styles Switcher JS 558function setActiveStyleSheet(title) { 559 var i, a, main; 560 for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { 561 if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) { 562 a.disabled = true; 563 if(a.getAttribute("title") == title) a.disabled = false; 564 } 565 } 566} 567 568function getActiveStyleSheet() { 569 var i, a; 570 for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { 571 if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title"); 572 } 573 return null; 574} 575 576function getPreferredStyleSheet() { 577 var i, a; 578 for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { 579 if(a.getAttribute("rel").indexOf("style") != -1 580 && a.getAttribute("rel").indexOf("alt") == -1 581 && a.getAttribute("title") 582 ) return a.getAttribute("title"); 583 } 584 return null; 585} 586 587function createCookie(name,value,days) { 588 if (days) { 589 var date = new Date(); 590 date.setTime(date.getTime()+(days*24*60*60*1000)); 591 var expires = "; expires="+date.toGMTString(); 592 } 593 else expires = ""; 594 document.cookie = name+"="+value+expires+"; path=/"; 595} 596 597function readCookie(name) { 598 var nameEQ = name + "="; 599 var ca = document.cookie.split(';'); 600 for(var i=0;i < ca.length;i++) { 601 var c = ca[i];
602 while (c.charAt(0)==' ') c = c.substring(1,c.length); 603 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 604 } 605 return null; 606} 607 608window.onload = function(e) { 609 var cookie = readCookie("style"); 610 var title = cookie ? cookie : getPreferredStyleSheet(); 611 setActiveStyleSheet(title); 612} 613 614window.onunload = function(e) { 615 var title = getActiveStyleSheet(); 616 createCookie("style", title, 365); 617} 618 619var cookie = readCookie("style"); 620var title = cookie ? cookie : getPreferredStyleSheet(); 621setActiveStyleSheet(title); 622 623 624 625$(document).ready(function(){ 626 627 // Styles Switcher 628 $(document).ready(function(){ 629 $('.open-switcher').click(function(){ 630 if($(this).hasClass('show-switcher')) { 631 $('.switcher-box').css({'left': 0}); 632 $('.open-switcher').removeClass('show-switcher'); 633 $('.open-switcher').addClass('hide-switcher'); 634 }else if(jQuery(this).hasClass('hide-switcher')) { 635 $('.switcher-box').css({'left': '-212px'}); 636 $('.open-switcher').removeClass('hide-switcher'); 637 $('.open-switcher').addClass('show-switcher'); 638 } 639 }); 640 }); 641 642 //Top Bar Switcher 643 $(".topbar-style").change(function(){ 644 if( $(this).val() == 1){ 645 $(".top-bar").removeClass("dark-bar"), 646 $(".top-bar").removeClass("color-bar"), 647 $(window).resize(); 648 } else if( $(this).val() == 2){ 649 $(".top-bar").removeClass("color-bar"), 650 $(".top-bar").addClass("dark-bar"), 651 $(window).resize(); 652 } else if( $(this).val() == 3){ 653 $(".top-bar").removeClass("dark-bar"), 654 $(".top-bar").addClass("color-bar"), 655 $(window).resize(); 656 } 657 }); 658 659 //Layout Switcher 660 $(".layout-style").change(function(){ 661 if( $(this).val() == 1){ 662 $("#container").removeClass("boxed-page"), 663 $(window).resize(); 664 } else{ 665 $("#container").addClass("boxed-page"), 666 $(window).resize(); 667 } 668 }); 669 670 //Background Switcher 671 $('.switcher-box .bg-list li a').click(function() { 672 var current = $('.switcher-box select[id=layout-style]').find('option:selected').val(); 673 if(current == '2') { 674 var bg = $(this).css("backgroundImage"); 675 $("body").css("backgroundImage",bg); 676 } else { 677 alert('Please select boxed layout'); 678 } 679 }); 680 681}); 682 683/** 684 * Slick Nav 685 */ 686 687$('.wpb-mobile-menu').slicknav({ 688 prependTo: '.navbar-header', 689 parentTag: 'margo', 690 allowParentLinks: true, 691 duplicate: false, 692 label: '', 693 closedSymbol: '<i class="fa fa-angle-right"></i>', 694 openedSymbol: '<i class="fa fa-angle-down"></i>', 695});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.