2023-07-26 19:33:39 +02:00

173 lines
8.4 KiB
JavaScript

// Custom Script
// Developed by: Samson.Onna
// CopyRights : http://webthemez.com
var customScripts = {
profile: function () {
var portfolio = $('#portfolio');
var items = $('.items', portfolio);
var filters = $('.filters li a', portfolio);
items.imagesLoaded(function() {
items.isotope({
itemSelector: '.item',
layoutMode: 'fitRows',
transitionDuration: '0.7s'
});
});
filters.click(function(){
var el = $(this);
filters.removeClass('active');
el.addClass('active');
var selector = el.attr('data-filter');
items.isotope({ filter: selector });
return false;
});
},
fancybox: function () {
// fancybox
$(".fancybox").fancybox();
},
onePageNav: function () {
$('#mainNav').onePageNav({
currentClass: 'active',
changeHash: false,
scrollSpeed: 950,
scrollThreshold: 0.2,
filter: '',
easing: 'swing',
begin: function () {
//I get fired when the animation is starting
},
end: function () {
//I get fired when the animation is ending
if(!$('#main-nav ul li:first-child').hasClass('active')){
$('.header').addClass('addBg');
}else{
$('.header').removeClass('addBg');
}
},
scrollChange: function ($currentListItem) {
//I get fired when you enter a section and I pass the list item of the section
if(!$('#main-nav ul li:first-child').hasClass('active')){
$('.header').addClass('addBg');
}else{
$('.header').removeClass('addBg');
}
}
});
$("a[href='#top']").click(function () {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});
$("a[href='#basics']").click(function () {
$("html, body").animate({ scrollTop: $('#services').offset().top - 75 }, "slow");
return false;
});
},
owlSlider: function () {
var owl = $("#owl-demo");
owl.owlCarousel();
// Custom Navigation Events
$(".next").click(function () {
owl.trigger('owl.next');
})
$(".prev").click(function () {
owl.trigger('owl.prev');
})
},
bannerHeight: function () {
var bHeight = $(".banner-container").height();
$('#da-slider').height(bHeight);
$(window).resize(function () {
var bHeight = $(".banner-container").height();
$('#da-slider').height(bHeight);
});
},
waySlide: function(){
/* Waypoints Animations
------------------------------------------------------ */
},
fitText: function(){
setTimeout(function() {
$('h1.responsive-headline').fitText(1.2, { minFontSize: '16px', maxFontSize: '30px' });
}, 100);
},
init: function () {
customScripts.onePageNav();
customScripts.profile();
customScripts.fancybox();
customScripts.owlSlider();
customScripts.waySlide();
customScripts.fitText();
customScripts.bannerHeight();
}
}
$('document').ready(function () {
customScripts.init();
/*----------------------------------------------------*/
/* gmaps
------------------------------------------------------*/
var map;
// main directions
map = new GMaps({
el: '#map', lat: 14.553533, lng: 121.052124, zoom: 14, zoomControl : true,
zoomControlOpt: { style : 'SMALL', position: 'TOP_LEFT' }, panControl : false, scrollwheel: false
});
// add address markers
map.addMarker({ lat: 14.552891, lng: 121.051815, title: 'WebThemez',
infoWindow: { content: '<p>WebThemez</p>' } });
$('#main-slider').flexslider({
namespace : "flex-", //{NEW} String: Prefix string attached to the class of every element generated by the plugin
selector : ".slides > li", //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
animation : "fade", //String: Select your animation type, "fade" or "slide"
easing : "swing", //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
direction : "horizontal", //String: Select the sliding direction, "horizontal" or "vertical"
reverse : false, //{NEW} Boolean: Reverse the animation direction
animationLoop : true, //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
smoothHeight : false, //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode
startAt : 0, //Integer: The slide that the slider should start on. Array notation (0 = first slide)
slideshow : true, //Boolean: Animate slider automatically
slideshowSpeed : 7000, //Integer: Set the speed of the slideshow cycling, in milliseconds
animationSpeed : 600, //Integer: Set the speed of animations, in milliseconds
initDelay : 0, //{NEW} Integer: Set an initialization delay, in milliseconds
randomize : false, //Boolean: Randomize slide order
// Usability features
pauseOnAction : true, //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
pauseOnHover : false, //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
useCSS : true, //{NEW} Boolean: Slider will use CSS3 transitions if available
touch : true, //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
video : false, //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
// Primary Controls
controlNav : true, //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
directionNav : true, //Boolean: Create navigation for previous/next navigation? (true/false)
prevText : "Previous", //String: Set the text for the "previous" directionNav item
nextText : "Next", //String: Set the text for the "next" directionNav item
// Secondary Navigation
keyboard : true, //Boolean: Allow slider navigating via keyboard left/right keys
multipleKeyboard : false, //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
mousewheel : false, //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
pausePlay : false, //Boolean: Create pause/play dynamic element
pauseText : 'Pause', //String: Set the text for the "pause" pausePlay item
playText : 'Play', //String: Set the text for the "play" pausePlay item
// Special properties
controlsContainer : "", //{UPDATED} Selector: USE CLASS SELECTOR. Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be ".flexslider-container". Property is ignored if given element is not found.
manualControls : "", //Selector: Declare custom control navigation. Examples would be ".flex-control-nav li" or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
sync : "", //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
asNavFor : "", //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
});
});