Skip to content

Instantly share code, notes, and snippets.

@lfborjas
Created February 26, 2011 20:43
Show Gist options
  • Select an option

  • Save lfborjas/845598 to your computer and use it in GitHub Desktop.

Select an option

Save lfborjas/845598 to your computer and use it in GitHub Desktop.
tumblr mouseover/mouseout
/*$(function () {
$('.bubbleInfo').each(function () {
var distance = -10;
var time = 250;
var hideDelay = 500;
var hideDelayTimer = null;
var beingShown = false;
var shown = false;
var trigger = $('.trigger', this);
var info = $('.popup', this).css('opacity', 0);
$([trigger.get(0), info.get(0)]).mouseover(function () {
if (hideDelayTimer) clearTimeout(hideDelayTimer);
if (beingShown || shown) {
// don't trigger the animation again
return;
} else {
// reset position of info box
beingShown = true;
info.css({
display: 'block'
}).animate({
bottom: '-=' + distance,
opacity: 1
}, time, 'swing', function() {
beingShown = false;
shown = true;
});
}
return false;
}).mouseout(function () {
if (hideDelayTimer) clearTimeout(hideDelayTimer);
hideDelayTimer = setTimeout(function () {
hideDelayTimer = null;
info.animate({
bottom: '-=' + distance,
opacity: 0
}, time, 'swing', function () {
shown = false;
info.css('display', 'none');
info.css('bottom', '-10px')
});
}, hideDelay);
return false;
});
});
});*/
$(function () {
$('.bubbleInfo').each(function () {
var distance = -10;
var time = 250;
var hideDelay = 500;
var hideDelayTimer = null;
var beingShown = false;
var shown = false;
var trigger = $('.trigger', this);
var info = $('.popup', this).css('opacity', 0);
$([trigger.get(0), info.get(0)]).mouseover(function () {
if (hideDelayTimer) clearTimeout(hideDelayTimer);
if (beingShown || shown) {
// don't trigger the animation again
return;
} else {
// reset position of info box
beingShown = true;
info.css({
display: 'block'
}).animate({
bottom: '-=' + distance,
opacity: 1
}, time, 'swing', function() {
beingShown = false;
shown = true;
});
}
return false;
}).mouseout(function () {
if (hideDelayTimer) clearTimeout(hideDelayTimer);
hideDelayTimer = setTimeout(function () {
hideDelayTimer = null;
info.animate({
bottom: '-=' + distance,
opacity: 0
}, time, 'swing', function () {
shown = false;
info.css('display', 'none');
info.css('bottom', '-10px')
});
}, hideDelay);
return false;
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment