-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
75 changed files
with
52,768 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
$(function() { | ||
|
||
$("#contactForm input,#contactForm textarea").jqBootstrapValidation({ | ||
preventSubmit: true, | ||
submitError: function($form, event, errors) { | ||
// additional error messages or events | ||
}, | ||
submitSuccess: function($form, event) { | ||
event.preventDefault(); // prevent default submit behaviour | ||
// get values from FORM | ||
var name = $("input#name").val(); | ||
var email = $("input#email").val(); | ||
var phone = $("input#phone").val(); | ||
var message = $("textarea#message").val(); | ||
var firstName = name; // For Success/Failure Message | ||
// Check for white space in name for Success/Fail message | ||
if (firstName.indexOf(' ') >= 0) { | ||
firstName = name.split(' ').slice(0, -1).join(' '); | ||
} | ||
$this = $("#sendMessageButton"); | ||
$this.prop("disabled", true); // Disable submit button until AJAX call is complete to prevent duplicate messages | ||
$.ajax({ | ||
url: "././mail/contact_me.php", | ||
type: "POST", | ||
data: { | ||
name: name, | ||
phone: phone, | ||
email: email, | ||
message: message | ||
}, | ||
cache: false, | ||
success: function() { | ||
// Success message | ||
$('#success').html("<div class='alert alert-success'>"); | ||
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×") | ||
.append("</button>"); | ||
$('#success > .alert-success') | ||
.append("<strong>Your message has been sent. </strong>"); | ||
$('#success > .alert-success') | ||
.append('</div>'); | ||
//clear all fields | ||
$('#contactForm').trigger("reset"); | ||
}, | ||
error: function() { | ||
// Fail message | ||
$('#success').html("<div class='alert alert-danger'>"); | ||
$('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×") | ||
.append("</button>"); | ||
$('#success > .alert-danger').append($("<strong>").text("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!")); | ||
$('#success > .alert-danger').append('</div>'); | ||
//clear all fields | ||
$('#contactForm').trigger("reset"); | ||
}, | ||
complete: function() { | ||
setTimeout(function() { | ||
$this.prop("disabled", false); // Re-enable submit button when AJAX call is complete | ||
}, 1000); | ||
} | ||
}); | ||
}, | ||
filter: function() { | ||
return $(this).is(":visible"); | ||
}, | ||
}); | ||
|
||
$("a[data-toggle=\"tab\"]").click(function(e) { | ||
e.preventDefault(); | ||
$(this).tab("show"); | ||
}); | ||
}); | ||
|
||
/*When clicking on Full hide fail/success boxes */ | ||
$('#name').focus(function() { | ||
$('#success').html(''); | ||
}); |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
(function($) { | ||
"use strict"; // Start of use strict | ||
|
||
// Smooth scrolling using jQuery easing | ||
$('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function() { | ||
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { | ||
var target = $(this.hash); | ||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); | ||
if (target.length) { | ||
$('html, body').animate({ | ||
scrollTop: (target.offset().top - 71) | ||
}, 1000, "easeInOutExpo"); | ||
return false; | ||
} | ||
} | ||
}); | ||
|
||
// Scroll to top button appear | ||
$(document).scroll(function() { | ||
var scrollDistance = $(this).scrollTop(); | ||
if (scrollDistance > 100) { | ||
$('.scroll-to-top').fadeIn(); | ||
} else { | ||
$('.scroll-to-top').fadeOut(); | ||
} | ||
}); | ||
|
||
// Closes responsive menu when a scroll trigger link is clicked | ||
$('.js-scroll-trigger').click(function() { | ||
$('.navbar-collapse').collapse('hide'); | ||
}); | ||
|
||
// Activate scrollspy to add active class to navbar items on scroll | ||
$('body').scrollspy({ | ||
target: '#mainNav', | ||
offset: 80 | ||
}); | ||
|
||
// Collapse Navbar | ||
var navbarCollapse = function() { | ||
if ($("#mainNav").offset().top > 100) { | ||
$("#mainNav").addClass("navbar-shrink"); | ||
} else { | ||
$("#mainNav").removeClass("navbar-shrink"); | ||
} | ||
}; | ||
// Collapse now if page is not at top | ||
navbarCollapse(); | ||
// Collapse the navbar when page is scrolled | ||
$(window).scroll(navbarCollapse); | ||
|
||
// Floating label headings for the contact form | ||
$(function() { | ||
$("body").on("input propertychange", ".floating-label-form-group", function(e) { | ||
$(this).toggleClass("floating-label-form-group-with-value", !!$(e.target).val()); | ||
}).on("focus", ".floating-label-form-group", function() { | ||
$(this).addClass("floating-label-form-group-with-focus"); | ||
}).on("blur", ".floating-label-form-group", function() { | ||
$(this).removeClass("floating-label-form-group-with-focus"); | ||
}); | ||
}); | ||
|
||
})(jQuery); // End of use strict |
Oops, something went wrong.