I'd like to show the qtip only on mouseover the target (<span class="percent100">
), but I want to remain visible until I move the mouse outside the general containing element (<div class="profileArea"
). Here is what I've tried, but it isn't working.
HTML:
//other HTML
//don't hide tooltip if anywhere in this div
<div class="profileArea">
<span class="profileInner">Your Profile: 0
<span class="fullProfileBar">
<span class="completedProfileBar"></span>
</span>
//start showing when hover over this span
<span class="percent100"> 100%</span>
</span>
</div>
//other HTML
Javascript:
$('.percent100').qtip({
id: 'progressBarTooltip',
content: {
text: 'Text Here'
},
position: {
my: 'top right',
at: 'bottom right',
target: $('.percent100')
},
show: {
event: 'mouseover' //shows when hover .percent100
},
hide: {
fixed: true,
//trying to hide when leave
target: $("div[class!='profileArea']")
},
});
You need to execute something like: http://jsfiddle.net/78zmG/2/
// Create the tooltips only when document ready
$(document).ready(function() {
// MAKE SURE YOUR SELECTOR MATCHES SOMETHING IN YOUR HTML!!!
$('a').qtip({
hide: {
delay: 400
},
events: {
render: function(event, api) {
// All elements with class 'safe' will set the 'safe' flag in the API cache
$(document.body).delegate('.safe', 'mouseenter mouseleave', function(event) {
api.cache.safe = event.type === 'mouseenter';
// This will hide the tooltip if we mouse out of the "safe" elements
if(!api.cache.safe) { api.hide(event); }
});
},
hide: function(event, api) {
// Check we're currently on a "safe" element, and stop the hide if so
if(api.cache.safe) {
try { event.preventDefault(); }
catch (e) {} // Needed for old IE and jQuery versions
}
}
}
});
});
Check that qtip keep opened when you are over red blocks.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With