jQuery Bubble Popup v 2.3.1的问题

时间:2011-04-19 13:08:56

标签: jquery popup bubble-popup

我正在使用jQuery Bubble Popup v 2.3.1 http://www.vegabit.com/jquery_bubble_popup_v2/

我在两个相邻元素上使用它时遇到问题,并且可选择为true。 当我鼠标悬停在一个并将鼠标移到气泡上时;如果鼠标到达气泡背面的另一个元素,则第一个气泡出现在第一个气泡上。意味着一次显示两个气泡。

我希望只有当它可见时才会显示气泡(不是在显示的气泡的背面),而且我一次只有一个气泡。 请帮忙!

1 个答案:

答案 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以设置气泡弹出窗口的预加载图像。