我正在使用jQuery Bubble Popup v 2.3.1 http://www.vegabit.com/jquery_bubble_popup_v2/
我在两个相邻元素上使用它时遇到问题,并且可选择为true。 当我鼠标悬停在一个并将鼠标移到气泡上时;如果鼠标到达气泡背面的另一个元素,则第一个气泡出现在第一个气泡上。意味着一次显示两个气泡。
我希望只有当它可见时才会显示气泡(不是在显示的气泡的背面),而且我一次只有一个气泡。 请帮忙!
答案 0 :(得分:0)
我遇到了为相邻元素显示另一个弹出窗口的相同问题。下面是我自己管理鼠标事件的代码。我希望这个脚本可以帮到你。
<script type="text/javascript">
jQuery(document).ready(function() {
var MouseOverOnBubble = false;
jQuery('.ClassName').CreateBubblePopup({
themeName: 'all-azure',
themePath: 'jquerybubblepopup-theme',
manageMouseEvents: false
});
jQuery('.ClassName').mouseover(function(){
var button = jQuery(this);
var info = "something";
var generatedId = button.GetBubblePopupID();
if(!button.IsBubblePopupOpen())
{
jQuery.get('getData.php?data='+info, function(data) {
var seconds_to_wait = 1;
function pause(){
var timer = setTimeout(function(){
seconds_to_wait--;
if(seconds_to_wait > 0){
pause();
}else{
button.SetBubblePopupInnerHtml(data, true); //false -> it shows new innerHtml but doesn't save it, then the script is forced to load everytime the innerHtml...
button.ShowBubblePopup();//Its freezes bubble until .UnfreezeBubblePopup(),.ShowBubblePopup() or .HideBubblePopup() are called.
jQuery('#'+generatedId).mouseover(function(){MouseOverOnBubble = true;jQuery('#'+generatedId).css('display','block');});
jQuery('#'+generatedId).mouseout(function(){MouseOverOnBubble = false;jQuery('#'+generatedId).css('display','none');});
};
},1000);
};pause();
});
}
else
{
jQuery('#'+generatedId).css('display','block');
}
}); //end mouseover event
jQuery('.ClassName').mouseout(function(){
var button = jQuery(this);
var seconds_to_wait = 1;
function pause(){
var timer = setTimeout(function(){
seconds_to_wait--;
if(seconds_to_wait > 0){
pause();
}else{
if(!MouseOverOnBubble){button.HideBubblePopup();}
};
},1000);
};pause();
});
});
</script>
您还可以尝试使用$ .ajax生成ajax请求,您可以在其中设置beforeSend以设置气泡弹出窗口的预加载图像。