2010-02-11 112 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;這使得原本封閉。