Published on January 14, 2016
The best mobile apps solve problems and simplify life for their users. Unfortunately, not all…
Read More
Published on January 12, 2016
Google hates bad passwords. “1234567,” “PaSsWoRd,” and other mobile app security abominations have been in…
Read More
Published on January 12, 2016
Twitter has been turning heads in the mobile app development community the past couple weeks…
Read More
Published on January 11, 2016
Slovenia isn’t exactly known for its thriving startup scene, especially among San Francisco mobile app…
Read More
Published on January 8, 2016
Most of us know Mozilla as the company behind Firefox, the highly customizable Chrome alternative….
Read More
Published on January 7, 2016
Mobile messaging interfaces are quickly becoming the Helvetica of the mobile app world, with applications…
Read More
Published on January 5, 2016
While some big names in the productivity-enhancement field strive to launch services to cover has…
Read More
Published on January 5, 2016
Mobile may be the future, but finding a balance between platforms still evades many startups…
Read More
Published on January 4, 2016
User retention is notoriously difficult in the iOS app industry, where over 80 percent of…
Read More
Published on January 1, 2016
The average user may be happy with a standard email app like Google’s Inbox or…
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);-->