Team:UT-Dallas/general.js
From 2014.igem.org
function convertHex(hex,opacity){
hex = hex.replace('#',); r = parseInt(hex.substring(0,2), 16); g = parseInt(hex.substring(2,4), 16); b = parseInt(hex.substring(4,6), 16); result = 'rgba('+r+','+g+','+b+','+opacity/100+')'; return result;
} $(document).ready(function($) {
$('navlist > li').bind('mouseover', openSubMenu); $('navlist > li').bind('mouseout', closeSubMenu);
function openSubMenu() { $(this).find('ul').css('visibility', 'visible'); };
function closeSubMenu() { $(this).find('ul').css('visibility', 'hidden'); }; // define params $('.tooltip').tooltipster({ animation: 'grow', touchDevices: false, trigger: 'hover', position: 'right', maxWidth: 500, contentAsHTML: true }); var duration = $("#parallax1").height() + $(window).height(); var bgPosMovement = "0 " + (duration*0.8) + "px";
// init controller var controller = new ScrollMagic({globalSceneOptions: {triggerHook: "onEnter", duration: duration}});
// build scenes new ScrollScene({triggerElement: "#trigger1"}) .setTween(TweenMax.to("#parallax1", 1, {backgroundPosition: bgPosMovement, ease: Linear.easeNone})) .addTo(controller);
new ScrollScene({triggerElement: "#trigger2"}) .setTween(TweenMax.to("#parallax2", 1, {backgroundPosition: bgPosMovement, ease: Linear.easeNone})) .addTo(controller);
new ScrollScene({triggerElement: "#trigger3"}) .setTween(TweenMax.to("#parallax3", 1, {backgroundPosition: bgPosMovement, ease: Linear.easeNone})) .addTo(controller);
//this is the floating content var $floatingbox = $('#top_bar');
if ($('#content_body').length > 0) {
var bodyY = parseInt($('#content_body').offset().top) - 20; var originalX = $floatingbox.css('margin-left'); $(window).scroll(function() { var scrollY = $(window).scrollTop(); var isfixed = $floatingbox.css('position') == 'fixed'; if ($floatingbox.length > 0) { //$floatingbox.html("srollY : " + scrollY + ", bodyY : " + bodyY + ", isfixed : " + isfixed); var op=50; var bar_height=80; if(scrollY>500) { op=100; bar_height=50; } else { op=50+(scrollY*50)/500; bar_height=80-(scrollY*30)/500; } //console.log(scrollY); $floatingbox.css('background', convertHex('#000000',op)); $floatingbox.css('height', bar_height); if (scrollY > bodyY && !isfixed) { $floatingbox.stop().css({ position: 'fixed', left: 0, top: 0 }); } else if (scrollY < bodyY && isfixed) { $floatingbox.css({ position: 'relative', left: 0, top: -10 }); } } }); } });