i narrowed it down to bootstrap.min.js, simply including the file and not using any of its functionality caused the flickering.
not sure what is causing the conflict within the file. perhaps a conflicting data- attribute that's getting binded?
since bootstrap is pretty popular, hopefully this can get fixed.
this was my test file: http://danlydiard.com/index2.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
html, body
{
height: 100%;
overflow: hidden;
margin: 0;
padding: 0;
background-color: #eaeaea;
}
#header {
width: 100%;
height: 75px;
}
#footer {
width: 100%;
height: 25px;
z-index: 10;
}
#header, #footer {
background-color: #222222;
color: #ffffff;
font-size: 20px;
padding: 10px 0;
text-align: center;
}
#juicebox-content {
width: 100%;
height: 600px;
position: relative;
padding-top: 75px;
}
@media (max-width: 979px) {
#juicebox-content {
padding-top: 0;
}
.footer {
display: none;
}
}
</style>
<script type="text/javascript" src="/js/jquery-1.9.1.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/js/jbcore/juicebox-1.3.1.js"></script>
<script type="text/javascript">
function doLayout() {
var headerOffset = 75;
var footerMargin = 3;
var winHeight, headerHeight, footerHeight;
var mobileMenu = $('#navbar-mobile-menu');
winHeight = window.innerHeight || $(window).height();
headerHeight = $('#header').outerHeight();
footerHeight = $('#footer').outerHeight();
// adjust for responsive layout
if (mobileMenu.is(':visible')) {
headerOffset = 0;
footerMargin = -(footerHeight - footerMargin) + footerMargin;
}
var newH = parseInt(winHeight) - parseInt(headerHeight) - parseInt(footerHeight) - footerMargin;
$('#juicebox-content').height(newH - headerOffset); // see style.css padding for #juicebox-content for offset.
}
$(document).ready(function () {
doLayout();
$(window).on('resize', doLayout);
new juicebox({
baseUrl: '/fashion/',
themeUrl: '/js/jbcore/classic/theme-1.1.5.css',
containerid: 'juicebox-container',
galleryTitle: 'test test',
galleryDescription: 'test test test',
galleryWidth: '100%',
galleryHeight: '100%',
backgroundColor: '#eaeaea',
configUrl: '/fashion/jbconfig-1.1.5.xml'
});
});
</script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Test Gallery</title>
</head>
<body>
<div id="header">This is the header.</div>
<section id="main-content">
<div id="juicebox-content">
<div id="juicebox-container">
</div>
</div>
</section>
<footer id="footer">This is the footer.
</footer>
</body>
</html>
all i did was simply remove boostrap.min.js and the flickering stopped.