jQuery的显示功能,在一段时间内淡出弹出

问题描述:

我使用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

此代码:

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

你用什么插件/函数来创建弹出?在整个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

如果您正在使用jQuery的库您不打算对这种最好的方式第三方插件。一个元素“淡入”最简单的方法是使用jQuery的本地$.fadeIn();

下面是一个例子:

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

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

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

在这两种情况下,你已经设置了DIV(这应该有"display:none;"风格)将显示在1000毫秒内。使用其中之一不应该“淡出”或在任何时间后隐藏元素(因为您没有编写任何代码来完成此操作)。

如果您有任何问题,只是问:)

+0

嗨克拉克,感谢你的如此善良,:...反正我只是在我的问题中加入我的代码.... PLZ检查它,并让我知道你的答案...谢谢 – texpert 2010-06-23 18:07:58