2010-02-11 114 views
1

所有,制作一个对话框隐藏

如何是一个对话框被隐藏,鼠标悬停事件和onmouseout事件提出了(例如:像媒体播放器控件)

link

<div class="bar" style="padding:0px;" id="bar"></div> 
<script> 
bar = $(".bar", "#view").dialog({ 
      height: 30, 
      width: '100%', 
      textAlign : "justify", 
      marginLeft : "auto", 
      marginRight:"auto" 
    }) 
</script> 

谢谢........

回答

-1

Ehm add display:none,to style attrbute。

0

如果您想让它位于鼠标旁边,请使对话框position:absolutedisplay:none。然后,您可以将鼠标悬停添加到任意元素,例如

$('#theElement').mouseover(e){function(){ 
    $("#dialog").css({"top":e.pageY,"left":e.pageX,"display":"block"}); 
}); 

e.pageY和e.pageX给你鼠标的位置。然后你可以玩这个,例如加10来补偿它。

除了上面的CSS你需要让你的元素可见。然后添加一个鼠标事件,在该事件中,您只是让对话框不可见。

我更喜欢我们的hover事件,它有2个函数调用,一个用于mouseover,一个用于mouseout。

+0

这是一个对话框,因此无法完成 – Hulk 2010-02-11 11:29:01

0

嗯,我想,如果对话框被隐藏,你不能“混淆”它并显示它。
但是,对于“手动”打开和关闭对话框,请使用openclose方法。

1

地址:

autoOpen: false, 

在鼠标悬停:

$(".bar", "#view").dialog('open') 

鼠标移开时:

$(".bar", "#view").dialog('close') 

http://jqueryui.com/demos/dialog/#method-close

+0

以及如何在$(“.bar”,“#view”)上获得鼠标悬停.......... – Hulk 2010-02-11 11:33:54

1

弄清楚你在想鼠标什么,并使用日Ë悬停:

$('#myselect').hover(
     function() 
     { 
      $(".bar", "#view").dialog("open"); 
     }, 
     function() 
     { 
      $(".bar", "#view").dialog("close"); 

     } 
    ); 

编辑: 我再次在你的问题看,和我做,你没有使用对话框之前所以这里一个巨大的假设是详细信息:

假设你有你想要的元素做一个对话框:

<div id="view"> 
    <div class="bar ui-dialog" style="padding:0px;" id="bar"></div> 
</div> 

假设你有,你想鼠标移到显示另一个元件/隐藏对话框:

<div id="myselect"></div> 

你的对话脚本仅需要:

$(document).ready(function() 
    { 
    $(".bar", "#view").dialog({ 
      autoOpen: false, 
      height: 30, 
      width: '100%', 
      textAlign : "justify", 
      marginLeft : "auto", 
      marginRight:"auto" 
     }); 
    }); 

注意添加autoOpen: false;这使得原本封闭。