1/* =================================================================== 2 3 Author : Valid Theme 4 Template Name : aveit - Creative & Digital Agency Multipurpose Template 5 Version : 1.0 6 7* ================================================================= */ 8 9(function($) { 10 "use strict"; 11 12 $(document).on('ready', function() { 13 14 15 /* ================================================== 16 # Wow Init 17 ===============================================*/ 18 var wow = new WOW({ 19 boxClass: 'wow', // animated element css class (default is wow) 20 animateClass: 'animated', // animation css class (default is animated) 21 offset: 0, // distance to the element when triggering the animation (default is 0) 22 mobile: true, // trigger animations on mobile devices (default is true) 23 live: true // act on asynchronously loaded content (default is true) 24 }); 25 wow.init(); 26 27 28 /* ================================================== 29 # Tooltip Init 30 ===============================================*/ 31 $('[data-toggle="tooltip"]').tooltip(); 32 33 34 35 /* ================================================== 36 # Smooth Scroll 37 ===============================================*/ 38 $("body").scrollspy({ 39 target: ".navbar-collapse", 40 offset: 200 41 }); 42 $('ul.nav>li>a').on('click', function(event) { 43 var $anchor = $(this); 44 var headerH = '75'; 45 $('html, body').stop().animate({ 46 scrollTop: $($anchor.attr('href')).offset().top - headerH + "px" 47 }, 1500, 'easeInOutExpo'); 48 event.preventDefault(); 49 }); 50 51 52 /* ================================================== 53 # Banner Animation 54 ===============================================*/ 55 function doAnimations(elems) { 56 //Cache the animationend event in a variable 57 var animEndEv = 'webkitAnimationEnd animationend'; 58 elems.each(function() { 59 var $this = $(this), 60 $animationType = $this.data('animation'); 61 $this.addClass($animationType).one(animEndEv, function() { 62 $this.removeClass($animationType); 63 }); 64 }); 65 } 66 67 //Variables on page load 68 var $immortalCarousel = $('.animate_text'), 69 $firstAnimatingElems = $immortalCarousel.find('.item:first').find("[data-animation ^= 'animated']"); 70 //Initialize carousel 71 $immortalCarousel.carousel(); 72 //Animate captions in first slide on page load 73 doAnimations($firstAnimatingElems); 74 //Other slides to be animated on carousel slide event 75 $immortalCarousel.on('slide.bs.carousel', function(e) { 76 var $animatingElems = $(e.relatedTarget).find("[data-animation ^= 'animated']"); 77 doAnimations($animatingElems); 78 }); 79 80 81 /* ================================================== 82 # Youtube Video Init 83 ===============================================*/ 84 $('.player').mb_YTPlayer(); 85 86 87 /* ================================================== 88 # imagesLoaded active 89 ===============================================*/ 90 $('#portfolio-grid,.blog-masonry').imagesLoaded(function() { 91 92 /* Filter menu */ 93 $('.mix-item-menu').on('click', 'button', function() { 94 var filterValue = $(this).attr('data-filter'); 95 $grid.isotope({ 96 filter: filterValue 97 }); 98 }); 99 100 /* filter menu active class */ 101 $('.mix-item-menu button').on('click', function(event) { 102 $(this).siblings('.active').removeClass('active'); 103 $(this).addClass('active'); 104 event.preventDefault(); 105 }); 106 107 /* Filter active */
108 var $grid = $('#portfolio-grid').isotope({ 109 itemSelector: '.pf-item', 110 percentPosition: true, 111 masonry: { 112 columnWidth: '.pf-item', 113 } 114 }); 115 116 /* Filter active */ 117 $('.blog-masonry').isotope({ 118 itemSelector: '.blog-item', 119 percentPosition: true, 120 masonry: { 121 columnWidth: '.blog-item', 122 } 123 }); 124 125 }); 126 127 128 /* ================================================== 129 # Fun Factor Init 130 ===============================================*/ 131 $('.timer').countTo(); 132 $('.fun-fact').appear(function() { 133 $('.timer').countTo(); 134 }, { 135 accY: -100 136 }); 137 138 139 /* ================================================== 140 # Magnific popup init 141 ===============================================*/ 142 $(".popup-link").magnificPopup({ 143 type: 'image', 144 // other options 145 }); 146 147 $(".popup-gallery").magnificPopup({ 148 type: 'image', 149 gallery: { 150 enabled: true 151 }, 152 // other options 153 }); 154 155 $(".popup-youtube, .popup-vimeo, .popup-gmaps").magnificPopup({ 156 type: "iframe", 157 mainClass: "mfp-fade", 158 removalDelay: 160, 159 preloader: false, 160 fixedContentPos: false 161 }); 162 163 $('.magnific-mix-gallery').each(function() { 164 var $container = $(this); 165 var $imageLinks = $container.find('.item'); 166 167 var items = []; 168 $imageLinks.each(function() { 169 var $item = $(this); 170 var type = 'image'; 171 if ($item.hasClass('magnific-iframe')) { 172 type = 'iframe'; 173 } 174 var magItem = { 175 src: $item.attr('href'), 176 type: type 177 }; 178 magItem.title = $item.data('title'); 179 items.push(magItem); 180 }); 181 182 $imageLinks.magnificPopup({ 183 mainClass: 'mfp-fade', 184 items: items, 185 gallery: { 186 enabled: true, 187 tPrev: $(this).data('prev-text'), 188 tNext: $(this).data('next-text') 189 }, 190 type: 'image', 191 callbacks: { 192 beforeOpen: function() { 193 var index = $imageLinks.index(this.st.el); 194 if (-1 !== index) { 195 this.goTo(index); 196 } 197 } 198 } 199 }); 200 }); 201 202 203 /* ================================================== 204 # Feature Carousel 205 ===============================================*/ 206 $('.feature-carousel').owlCarousel({ 207 loop: true, 208 nav: false, 209 margin:30, 210 dots: true, 211 autoplay: true, 212 items: 1, 213 navText: [ 214 "<i class='fa fa-angle-left'></i>", 215 "<i class='fa fa-angle-right'></i>" 216 ], 217 responsive: { 218 1000: { 219 stagePadding: 100, 220 } 221 } 222 }); 223 224 /* ================================================== 225 # Overview Carousel 226 ===============================================*/ 227 $('.overview-carousel').owlCarousel({ 228 loop: true, 229 nav: true, 230 margin: 30, 231 dots: false, 232 autoplay: true, 233 items: 1, 234 navText: [ 235 "<i class='fa fa-angle-left'></i>", 236 "<i class='fa fa-angle-right'></i>" 237 ] 238 }); 239 240 241 /* ================================================== 242 # Services Stage Carousel 243 ===============================================*/ 244 $('.services-stage-carousel').owlCarousel({ 245 loop: true, 246 nav: false, 247 margin:30, 248 dots: true, 249 autoplay: true, 250 items: 1, 251 navText: [ 252 "<i class='fa fa-angle-left'></i>", 253 "<i class='fa fa-angle-right'></i>" 254 ], 255 responsive: { 256 0: { 257 items: 1 258 }, 259 800: { 260 items: 2 261 }, 262 1000: { 263 items: 3 264 } 265 } 266 }); 267 268 /* ================================================== 269 # Services Carousel 270 ===============================================*/ 271 $('.services-default-carousel').owlCarousel({ 272 loop: true, 273 nav: true, 274 margin:30, 275 dots: false, 276 autoplay: true, 277 items: 1, 278 navText: [ 279 "<i class='arrow_left'></i>", 280 "<i class='arrow_right'></i>" 281 ], 282 responsive: { 283 0: { 284 items: 1 285 }, 286 800: { 287 items: 2 288 }, 289 1000: { 290 items: 3 291 } 292 } 293 }); 294 295 296 /* ================================================== 297 # We Do Carousel 298 ===============================================*/ 299 $('.wedo-carousel').owlCarousel({ 300 loop: true, 301 nav: false, 302 margin:30, 303 dots: true, 304 autoplay: true, 305 items: 1, 306 navText: [ 307 "<i class='arrow_left'></i>", 308 "<i class='arrow_right'></i>" 309 ], 310 }); 311 312 313 /* ================================================== 314 # Testimonial Carousel 315 ===============================================*/ 316 $('.testimonials-carousel').owlCarousel({ 317 loop: false, 318 nav: true, 319 dots: false, 320 autoplay: true, 321 items: 1, 322 navText: [ 323 "<i class='arrow_left'></i>", 324 "<i class='arrow_right'></i>" 325 ], 326 }); 327 328 329 /* ================================================== 330 # Partner Carousel 331 ===============================================*/ 332 $('.partner-carousel').owlCarousel({ 333 loop: false, 334 margin: 30, 335 nav: false, 336 navText: [ 337 "<i class='ti-angle-left'></i>", 338 "<i class='ti-angle-right'></i>" 339 ], 340 dots: false, 341 autoplay: true, 342 responsive: { 343 0: { 344 items: 2 345 }, 346 600: { 347 items: 3, 348 margin: 50 349 }, 350 351 1000: { 352 items: 4, 353 margin: 80 354 } 355 } 356 }); 357 358 359 /* ================================================== 360 # Projects Carousel 361 ===============================================*/ 362 $('.projects-carousel').owlCarousel({ 363 loop: true, 364 nav: true, 365 margin:30, 366 dots: false, 367 autoplay: false, 368 items: 1, 369 navText: [ 370 "<i class='arrow_left'></i>", 371 "<i class='arrow_right'></i>" 372 ], 373 responsive: { 374 800: { 375 items: 2 376 }, 377 1200: { 378 items: 3 379 }, 380 1400: { 381 stagePadding: 100, 382 items: 3, 383 }, 384 385 } 386 }); 387 388 389 /* ================================================== 390 # Case Carousel 391 ===============================================*/ 392 $('.case-carousel').owlCarousel({ 393 loop: true, 394 center: true, 395 margin: 30, 396 nav: true, 397 navText: [ 398 "<i class='arrow_left'></i>", 399 "<i class='arrow_right'></i>" 400 ], 401 dots: false, 402 autoplay: true, 403 responsive: { 404 0: { 405 items: 1 406 }, 407 1000: { 408 items: 2 409 }, 410 1200: { 411 items: 3, 412 stagePadding: 100 413 } 414 } 415 }); 416 417 /* ================================================== 418 # Software Overview Carousel 419 ===============================================*/ 420 $('.software-overview-carousel').owlCarousel({ 421 loop: true, 422 nav: true, 423 margin: 30, 424 dots: false, 425 autoplay: true, 426 items: 1, 427 navText: [ 428 "<i class='fa fa-angle-left'></i>", 429 "<i class='fa fa-angle-right'></i>" 430 ] 431 }); 432 433 /* ================================================== 434 Preloader Init 435 ===============================================*/ 436 $(window).on('load', function () { 437 $('#site-preloader').delay('200').fadeOut(); 438 }); 439 440 /* ================================================== 441 Nice Select Init 442 ===============================================*/ 443 $('select').niceSelect(); 444 445 446 /* ================================================== 447 Contact Form Validations 448 ================================================== */ 449 $('.contact-form').each(function() { 450 var formInstance = $(this); 451 formInstance.submit(function() { 452 453 var action = $(this).attr('action'); 454 455 $("#message").slideUp(750, function() { 456 $('#message').hide(); 457 458 $('#submit') 459 .after('<img src="assets/img/ajax-loader.gif" class="loader" />') 460 .attr('disabled', 'disabled'); 461 462 $.post(action, { 463 name: $('#name').val(), 464 email: $('#email').val(), 465 phone: $('#phone').val(), 466 comments: $('#comments').val() 467 }, 468 function(data) { 469 document.getElementById('message').innerHTML = data; 470 $('#message').slideDown('slow'); 471 $('.contact-form img.loader').fadeOut('slow', function() { 472 $(this).remove() 473 }); 474 $('#submit').removeAttr('disabled'); 475 } 476 ); 477 }); 478 return false; 479 }); 480 }); 481 482 }); // end document ready function 483})(jQuery); // End jQuery
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.