Published on June 27, 2017
It’s easy for Boston iOS app developers to take a consistent high-speed internet connection for…
Read More
Published on June 26, 2017
One of the major goals of FinTech app developers is to disrupt the way banking…
Read More
Published on June 23, 2017
It seems like the virtual reality hype has subsided somewhat these days, replaced by a…
Read More
Published on June 22, 2017
President Trump’s “tech week” kicked off Monday with an unusual scene: leaders of the tech…
Read More
Published on June 21, 2017
During last month’s Google I/O developer conference, the company laid out its ambitious plan to…
Read More
Published on June 20, 2017
Smartphones seem so ubiquitous at this point that it’s easy for mobile app developers to…
Read More
Published on June 19, 2017
The big business news rolling into the weekend was Amazon’s purchase of Whole Foods, a…
Read More
Published on June 16, 2017
Last month, Dogtown Media’s co-founder and CTO Rob Pope live-hacked his “botnet in a box”…
Read More
Published on June 15, 2017
Here at Dogtown Media, we’re passionate about computer science education reform. It’s not just that…
Read More
Published on June 14, 2017
Like most Americans, Chicago eHealth app developers have been watching with their mouths agape as…
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);-->