Published on January 7, 2025
After reading this article, you’ll: Understand the crucial distinction between internationalization (i18n) and localization (L10n),…
Read More
Published on December 28, 2024
After reading this article, you’ll: Understand how to leverage advanced mobile device features (camera, GPS,…
Read More
Published on December 26, 2024
After reading this article, you’ll: Understand what microinteractions are and their essential components (triggers, rules,…
Read More
Published on December 8, 2024
After reading this article, you’ll: Understand why and how users become dormant in apps, including…
Read More
Published on November 20, 2024
After reading this article, you’ll: Understand why mobile data efficiency is crucial, with mobile traffic…
Read More
Published on November 15, 2024
After reading this article, you’ll: Understand minimalist app design principles and why they’ve become dominant…
Read More
Published on November 13, 2024
After reading this article, you’ll: Understand the unique challenges of the aging population, including physical…
Read More
Published on October 31, 2024
After reading this article, you’ll: Understand the complex ecosystem of mobile apps, common causes of…
Read More
Published on October 25, 2024
After reading this article, you’ll: Understand why building an active user community is crucial for…
Read More
Published on October 15, 2024
After reading this article, you’ll: Grasp the current state and future potential of foldable device…
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);-->