Published on May 13, 2024
After reading this article, you’ll Recognize the critical importance of offline functionality in mobile apps…
Read More
Published on May 1, 2024
After reading this article, you’ll: Recognize the importance of user feedback in developing successful mobile…
Read More
Published on April 15, 2024
After reading this article, you’ll: Understand the benefits of subscription models for mobile apps, including…
Read More
Published on April 3, 2024
After reading this article, you’ll: Understand the psychological principles behind gamification, such as motivation, rewards,…
Read More
Published on March 28, 2024
After reading this article, you’ll: Gain a comprehensive understanding of the different types of mobile…
Read More
Published on March 21, 2024
After reading this article, you’ll: Understand the key differences between iOS and Android platforms, including…
Read More
Published on March 12, 2024
After reading this article, you’ll: Comprehend the significance of Apple’s concessions in response to the…
Read More
Published on March 6, 2024
After reading this article, you’ll: Grasp the complexity and challenges of custom app development, including…
Read More
Published on February 28, 2024
After reading this article, you’ll: Understand the Agile methodology’s principles, practices, and core values, and…
Read More
Published on February 22, 2024
After reading this article, you’ll: Recognize the significance of software development outsourcing in the current…
Read More
// Add original row class to side image sections
$('section.side-image').each(function() {var rowClass = $(this).find('.wpb_row').first().attr('class').split('vc_row-fluid').pop().trim();$(this).addClass(rowClass);});
// Highlight portfolio in navigation on project pages
$('body.posttype-portfolio').find('#menu-navigation a[href*="/portfolio/"]').parent().addClass('current-menu-item');
// Highlight services in navigation on services pages
$('body.parent-pageid-12').find('#menu-navigation a[href*="/app-development-services/"]').parent().addClass('current-menu-item');
// Copy tab titles into content for responsive view
$('.wpb_tabs .ui-tabs-anchor').each(function() {$( '.wpb_tab' + $(this).attr('href') ).prepend('' + $(this).html() + ' ');});
/*if (jQuery('.portfolio-page').length > 0){*/
/*portfolio-template-default*/
if (jQuery('.portfolio-template-default').length == 0){
$.fn.extend({
animationend: function(callback) {
return this.one('webkitAnimationEnd mozAnimationEnd oAnimationEnd oanimationend animationend', callback);
},
initWaypoint: function() {
return this.addClass('waypoint')
.removeClass('animated')
.waypoint2(function(direction) {
//console.log(this.element)
$(this.element).addClass('animated');
this.destroy();
}, {
offset: '80%'
});
}
});
}
if (jQuery('.portfolio-template-default.single-portfolio').length > 0){
setTimeout(function () {
jQuery('.page-header h1.waypoint, .page-header p.waypoint').addClass('animated');
}, 1000);
}
if ( window.matchMedia('(min-width: 481px)').matches ) {
var waypoints = null;
var $waypoints = $('.waypoint');
var waypointSelectors = {
'common': [
$('section.vc_row').has('.lead').find('h1, h2, .lead, .btn'),
'[class*="vc_col-"]:not([class*="-12"])',
'section.side-image .image-container',
'section.text-intro h2',
'section.howwework-preview .wpb_tabs',
'section.publications .col-sm-4',
'section.featured-projects .rev_slider_wrapper',
'section.landing-location-intro .wpb_text_column'
],
'home': [],
'app-development-services': [
'section.services-slider',
'section.services-specialities'
],
'portfolio': [
'.portfolio-showcase [class^="col-"]'
],
'about': [
$('.team-member')
],
'landing': [
'.posts-container .col-sm-6'
],
'staging': [
'.section-clients-v2 .col-sm-3'
]
}
var pageSlug = window.location.href.split('/');
if (pageSlug.length > 4) {
pageSlug = pageSlug[pageSlug.length - 2];
} else {
pageSlug = 'home';
}
_.every(waypointSelectors, function(selectors, page) {
_.each(selectors, function(selector) {
$waypoints = $waypoints.add(selector);
});
if (page === 'common' || page === pageSlug) {
_.each(selectors, function(selector) {
$waypoints = $waypoints.add(selector);
});
if (page === pageSlug)
return false;
}
return true;
});
waypoints = $waypoints.initWaypoint();
}
var archiveCurrentCategory = null;
var categoryPostsCache = {};
var postWaypointContext = null;
var $archivePosts = $('.archive-posts');
var $postsContainer = $archivePosts.find('.posts-container');
var $postsContainer2 = $('');
function handleHover() {
var category = $(this).data('category');
// console.log('hover detected')
if (category === archiveCurrentCategory) {return;}
$(this).addClass('active')
.siblings().removeClass('active');
category ? loadPosts(category) : resetPosts();
archiveCurrentCategory = category;
$('.news-subnav a').one('mouseover click', handleHover);
}
function loadPosts(category) {
var cachedPosts = categoryPostsCache[category];
if (cachedPosts) {
$postsContainer2.html(cachedPosts);
showPosts();
return;
}
$postsContainer2.load('/category/' + category +'/ .posts-container', function(html) {
$postsContainer2.find('.col-sm-6').initWaypoint();
showPosts();
categoryPostsCache[category] = $postsContainer2.find('.posts-container');
});
}
function showPosts() {$archivePosts.addClass('show-container-2');}
function resetPosts() {$archivePosts.removeClass('show-container-2');}
$postsContainer.after($postsContainer2);
$('.news-subnav a').one('mouseover click', handleHover).first().trigger('mouseover');
});})(jQuery);-->