2010-06-23 70 views
1

我使用jQuery的顯示功能創建的jquery彈出窗口,在幾秒鐘內消失,這是不是打算。 我想彈出留...jQuery的顯示功能,在一段時間內淡出彈出

我怎麼能告訴jQuery來做到這一點?

繼承人是我的代碼,

jQuery(document).ready(function(){ 
jQuery('#popuup_div.popup_msg').hide(); 
$(a.xyz).click(function(e) 
{ 
    var height = jQuery('#popuup_div').height(); 
    var width = jQuery('#popuup_div').width(); 
    leftVal=e.pageX-(width/1.5)+"px"; 
    topVal=e.pageY-(height/13)+"px"; 

    jQuery('#popuup_div').css({left:leftVal,top:topVal}).show(); 
}); 

jQuery('#image').click(function(e) 
{ 
jQuery('#popuup_div').fadeOut('fast'); 
}); 
}); 

html 

<div id='popuup_div' class='popup_msg'> 
<div id='image'> 
gets the image 
</div> 
<br> 
some message 
</div> 

css: 

.popup_msg{ 
position:absolute; 
z-index:100; 
width:700px; 
height:250px; 
text-align:justify; 
color:Black; 
font: 14px Verdana, Arial, Helvetica, sans-serif; 
background-color:yellow; 
} 
+0

你可以給我們一些代碼嗎? :) – 2010-06-23 16:52:26

+0

這是一個來自插件的特殊彈出功能嗎?如果沒有,您認爲我們可以在沒有代碼的情況下幫助您嗎? – 2010-06-23 16:52:43

+0

好傢伙,抱歉沒有張貼代碼...反正,我剛添加的代碼在我的問題...... 感謝 – texpert 2010-06-23 17:54:13

回答

2

此代碼:

jQuery('#image').click(function(e) 
{ 
    jQuery('#popuup_div').fadeOut('fast'); 
}); 

是代碼的消失股利。根據您提供的代碼,除非您單擊圖像div,否則彈出div不會消失。你確定div總是消失,即使你不點擊任何東西?您的發佈代碼中沒有任何內容會導致您的彈出窗口褪色。

+0

是啊...即使我不點擊任何東西,它會在5-6秒內消失...... – texpert 2010-06-23 20:00:40

+0

如果您發佈完整頁面,我可以查看它,它可能是您代碼中的其他地方。我用你的確切代碼進行了測試,除了我在最後一個div之後加上'click me',並將你的'$(a.xyz)'選擇器改爲'$('a.xyz')'。 – rosscj2533 2010-06-23 20:07:20

+0

感謝rosscj,但我找到了prob的原因,我仍然在努力,雖然......正如你所說,這是其他一些代碼,這是創建prob .. – texpert 2010-06-24 17:49:43

1

你用什麼插件/函數來創建彈出?在整個JavaScript代碼中搜索setTimeout,然後粘貼代碼片段,然後在Web Developer工具欄上將Web Developer加載項用於Firefox,然後在Web Developer工具欄上將信息>查看JavaScript並搜索「 setTimeout的」在那裏。)

+0

嗨,我只是說我的代碼在我的問題.... PLZ檢查,並讓我知道你的答案...謝謝 – texpert 2010-06-23 18:00:21

+0

看看這個,你在找什麼類似的東西嗎? http://jsfiddle.net/WDtaw/ – Dot 2010-06-23 20:05:20

+0

嗨swizzy,實際上幫我找出問題....我寫了jQuery彈出在CakePHP中,並彈出正在佈局的一些其他的div ... ...不錯的鏈接btw – texpert 2010-06-24 17:48:27

0

如果您正在使用jQuery的庫您不打算對這種最好的方式第三方插件。一個元素「淡入」最簡單的方法是使用jQuery的本地$.fadeIn();

下面是一個例子:

$("#myDiv").fadeIn(1000); 

或者jQuery的$ .show()的一個例子。

$("#myDiv").show(1000); 

在這兩種情況下,你已經設置了DIV(這應該有"display:none;"風格)將顯示在1000毫秒內。使用其中之一不應該「淡出」或在任何時間後隱藏元素(因爲您沒有編寫任何代碼來完成此操作)。

如果您有任何問題,只是問:)

+0

嗨克拉克,感謝你的如此善良,:...反正我只是在我的問題中加入我的代碼.... PLZ檢查它,並讓我知道你的答案...謝謝 – texpert 2010-06-23 18:07:58