383 lines
8.5 KiB
JavaScript
383 lines
8.5 KiB
JavaScript
/*jshint jquery:true */
|
|
/*global $:true */
|
|
|
|
var $ = jQuery.noConflict();
|
|
|
|
$(document).ready(function($) {
|
|
"use strict";
|
|
|
|
/*-------------------------------------------------*/
|
|
/* = portfolio isotope
|
|
/*-------------------------------------------------*/
|
|
|
|
var winDow = $(window);
|
|
// Needed variables
|
|
var $container=$('.portfolio-container');
|
|
var $filter=$('.filter');
|
|
|
|
try{
|
|
$container.imagesLoaded( function(){
|
|
$container.show();
|
|
$container.isotope({
|
|
filter:'*',
|
|
layoutMode:'masonry',
|
|
animationOptions:{
|
|
duration:750,
|
|
easing:'linear'
|
|
}
|
|
});
|
|
});
|
|
} catch(err) {
|
|
}
|
|
|
|
winDow.bind('resize', function(){
|
|
var selector = $filter.find('a.active').attr('data-filter');
|
|
|
|
try {
|
|
$container.isotope({
|
|
filter : selector,
|
|
animationOptions: {
|
|
duration: 750,
|
|
easing : 'linear',
|
|
queue : false,
|
|
}
|
|
});
|
|
} catch(err) {
|
|
}
|
|
return false;
|
|
});
|
|
|
|
// Isotope Filter
|
|
$filter.find('a').click(function(){
|
|
var selector = $(this).attr('data-filter');
|
|
|
|
try {
|
|
$container.isotope({
|
|
filter : selector,
|
|
animationOptions: {
|
|
duration: 750,
|
|
easing : 'linear',
|
|
queue : false,
|
|
}
|
|
});
|
|
} catch(err) {
|
|
|
|
}
|
|
return false;
|
|
});
|
|
|
|
|
|
var filterItemA = $('.filter li a');
|
|
|
|
filterItemA.on('click', function(){
|
|
var $this = $(this);
|
|
if ( !$this.hasClass('active')) {
|
|
filterItemA.removeClass('active');
|
|
$this.addClass('active');
|
|
}
|
|
});
|
|
|
|
/*-------------------------------------------------*/
|
|
/* = smooth scroll in chrome
|
|
/*-------------------------------------------------*/
|
|
try {
|
|
$.browserSelector();
|
|
// Adds window smooth scroll on chrome.
|
|
if($("html").hasClass("chrome")) {
|
|
$.smoothScroll();
|
|
}
|
|
} catch(err) {
|
|
|
|
}
|
|
|
|
/*-------------------------------------------------*/
|
|
/* = Scroll to TOP
|
|
/*-------------------------------------------------*/
|
|
|
|
var animateTopButton = $('.go-top'),
|
|
htmBody = $('html, body');
|
|
|
|
animateTopButton.click(function(){
|
|
htmBody.animate({scrollTop: 0}, 'slow');
|
|
return false;
|
|
});
|
|
|
|
/*-------------------------------------------------*/
|
|
/* = flexslider
|
|
/*-------------------------------------------------*/
|
|
try {
|
|
|
|
var SliderPost = $('.flexslider');
|
|
|
|
SliderPost.flexslider({
|
|
animation: "fade",
|
|
slideshowSpeed: 4500
|
|
});
|
|
} catch(err) {
|
|
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------- */
|
|
/* Contact Map
|
|
/* ---------------------------------------------------------------------- */
|
|
var contact = {"lat":"33.83261", "lon":"-84.613493"}; //Change a map coordinate here!
|
|
|
|
try {
|
|
var mapContainer = $('.map');
|
|
mapContainer.gmap3({
|
|
action: 'addMarker',
|
|
latLng: [contact.lat, contact.lon],
|
|
map:{
|
|
center: [contact.lat, contact.lon],
|
|
zoom: 14
|
|
},
|
|
},
|
|
{action: 'setOptions', args:[{scrollwheel:false}]}
|
|
);
|
|
} catch(err) {
|
|
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------- */
|
|
/* magnific-popup
|
|
/* ---------------------------------------------------------------------- */
|
|
|
|
try {
|
|
// Example with multiple objects
|
|
$('.zoom').magnificPopup({
|
|
type: 'image'
|
|
});
|
|
} catch(err) {
|
|
|
|
}
|
|
|
|
try {
|
|
// Example with multiple objects
|
|
$('.zoom.video').magnificPopup({
|
|
type: 'iframe'
|
|
});
|
|
} catch(err) {
|
|
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------- */
|
|
/* Accordion
|
|
/* ---------------------------------------------------------------------- */
|
|
var clickElem = $('a.accord-link');
|
|
|
|
clickElem.on('click', function(e){
|
|
e.preventDefault();
|
|
|
|
var $this = $(this),
|
|
parentCheck = $this.parents('.accord-elem'),
|
|
accordItems = $('.accord-elem'),
|
|
accordContent = $('.accord-content');
|
|
|
|
if( !parentCheck.hasClass('active')) {
|
|
|
|
accordContent.slideUp(400, function(){
|
|
accordItems.removeClass('active');
|
|
});
|
|
parentCheck.find('.accord-content').slideDown(400, function(){
|
|
parentCheck.addClass('active');
|
|
});
|
|
|
|
} else {
|
|
|
|
accordContent.slideUp(400, function(){
|
|
accordItems.removeClass('active');
|
|
});
|
|
|
|
}
|
|
});
|
|
|
|
/* ---------------------------------------------------------------------- */
|
|
/* Tabs
|
|
/* ---------------------------------------------------------------------- */
|
|
var clickTab = $('.tab-links li a');
|
|
|
|
clickTab.on('click', function(e){
|
|
e.preventDefault();
|
|
|
|
var $this = $(this),
|
|
hisIndex = $this.parent('li').index(),
|
|
tabCont = $('.tab-content'),
|
|
tabContIndex = $(".tab-content:eq(" + hisIndex + ")");
|
|
|
|
if( !$this.hasClass('active')) {
|
|
|
|
clickTab.removeClass('active');
|
|
$this.addClass('active');
|
|
|
|
tabCont.fadeOut(400);
|
|
tabCont.removeClass('active');
|
|
tabContIndex.delay(400).fadeIn(400);
|
|
tabContIndex.addClass('active');
|
|
}
|
|
});
|
|
|
|
/*-------------------------------------------------*/
|
|
/* = slider Testimonial
|
|
/*-------------------------------------------------*/
|
|
|
|
var slidertestimonial = $('.bxslider');
|
|
try{
|
|
slidertestimonial.bxSlider({
|
|
mode: 'vertical'
|
|
});
|
|
} catch(err) {
|
|
}
|
|
|
|
/*-------------------------------------------------*/
|
|
/* = skills animate
|
|
/*-------------------------------------------------*/
|
|
|
|
var animateElement = $(".meter > span");
|
|
animateElement.each(function() {
|
|
$(this)
|
|
.data("origWidth", $(this).width())
|
|
.width(0)
|
|
.animate({
|
|
width: $(this).data("origWidth")
|
|
}, 1200);
|
|
});
|
|
|
|
/*-------------------------------------------------*/
|
|
/* = Shop accordion
|
|
/*-------------------------------------------------*/
|
|
|
|
var AccordElement = $('a.accordion-link');
|
|
|
|
AccordElement.on('click', function(e){
|
|
e.preventDefault();
|
|
var elemSlide = $(this).parent('li').find('.accordion-list-content');
|
|
|
|
if( !$(this).hasClass('active') ) {
|
|
$(this).addClass('active');
|
|
elemSlide.slideDown(200);
|
|
} else {
|
|
$(this).removeClass('active');
|
|
elemSlide.slideUp(200);
|
|
}
|
|
});
|
|
|
|
/*-------------------------------------------------*/
|
|
/* = price range code
|
|
/*-------------------------------------------------*/
|
|
|
|
try {
|
|
|
|
for( var i = 100; i <= 10000; i++ ){
|
|
$('#start-val').append(
|
|
'<option value="' + i + '">' + i + '</option>'
|
|
);
|
|
}
|
|
// Initialise noUiSlider
|
|
$('.noUiSlider').noUiSlider({
|
|
range: [0,1600],
|
|
start: [0,1000],
|
|
handles: 2,
|
|
connect: true,
|
|
step: 1,
|
|
serialization: {
|
|
to: [ $('#start-val'),
|
|
$('#end-val') ],
|
|
resolution: 1
|
|
}
|
|
});
|
|
} catch(err) {
|
|
|
|
}
|
|
|
|
/*-------------------------------------------------*/
|
|
/* = Carosells
|
|
/*-------------------------------------------------*/
|
|
try {
|
|
$('.carousel').carousel({
|
|
interval: false
|
|
});
|
|
} catch(err) {
|
|
|
|
}
|
|
|
|
/*-------------------------------------------------*/
|
|
/* = Single page
|
|
/*-------------------------------------------------*/
|
|
|
|
var windowHeight = $(window).height();
|
|
$('.home-box').css('height', windowHeight);
|
|
|
|
$(window).resize(function(){
|
|
var windowHeight = $(window).height();
|
|
$('.home-box').css('height', windowHeight);
|
|
});
|
|
|
|
/* ---------------------------------------------------------------------- */
|
|
/* Contact Form
|
|
/* ---------------------------------------------------------------------- */
|
|
|
|
var submitContact = $('#submit_contact'),
|
|
message = $('#msg');
|
|
|
|
submitContact.on('click', function(e){
|
|
e.preventDefault();
|
|
|
|
var $this = $(this);
|
|
|
|
$.ajax({
|
|
type: "POST",
|
|
url: 'contact',
|
|
dataType: 'json',
|
|
cache: false,
|
|
data: $('#contact-form').serialize(),
|
|
success: function(data) {
|
|
|
|
if(data.info !== 'error'){
|
|
$this.parents('form').find('input[type=text],textarea,select').filter(':visible').val('');
|
|
message.hide().removeClass('success').removeClass('error').addClass('success').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow');
|
|
} else {
|
|
message.hide().removeClass('success').removeClass('error').addClass('error').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow');
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
/* ---------------------------------------------------------------------- */
|
|
/* Header animate after scroll
|
|
/* ---------------------------------------------------------------------- */
|
|
|
|
(function() {
|
|
|
|
var docElem = document.documentElement,
|
|
didScroll = false,
|
|
changeHeaderOn = 200;
|
|
document.querySelector( 'header, .fixed-link-top' );
|
|
function init() {
|
|
window.addEventListener( 'scroll', function() {
|
|
if( !didScroll ) {
|
|
didScroll = true;
|
|
setTimeout( scrollPage, 250 );
|
|
}
|
|
}, false );
|
|
}
|
|
|
|
function scrollPage() {
|
|
var sy = scrollY();
|
|
if ( sy >= changeHeaderOn ) {
|
|
$( 'header, .fixed-link-top' ).addClass('active');
|
|
}
|
|
else {
|
|
$( 'header, .fixed-link-top' ).removeClass('active');
|
|
}
|
|
didScroll = false;
|
|
}
|
|
|
|
function scrollY() {
|
|
return window.pageYOffset || docElem.scrollTop;
|
|
}
|
|
|
|
init();
|
|
|
|
})();
|
|
|
|
}); |