2010-09-03 5 views
0

Je suis en train de cacher un div avec un effet fadeout mais il ne semble pas fonctionner ..effet fadeout avec cacher dans jquery

$('#messageDiv').hide().fadeOut('slow'); Toute suggestion.

Je montre une erreur div en utilisant une fonction personnalisée?

function getErrorMsgStyle(txt) { 
    return "<table width='100%' border='0' cellpadding='0' cellspacing='0' align='center'><tr style='line-height:7px;'><td>&nbsp;</td></tr></table><div class='error_Style_Border' id='messageDiv'><a href='javascript:void(0);' onClick=\"$('#messageDiv').fadeOut('slow');\" class='link'><table width='100%' border='0' cellpadding='0' cellspacing='0' align='center'><tr style='line-height:2px;'><td>&nbsp;</td></tr><tr><td class='table_error_Style_Border'><table width='97%' border='0' cellpadding='0' cellspacing='0' align='center' >" + "<tr style='line-height:2px;'><td colspan='15' align='center'></td></tr>" + "<tr ><td width='10px'>&nbsp;</td><td colspan='12' align='center' ><span class='error-txt'>" + txt + "</span></td><td width='10px' class='error-close'>X</td><td>&nbsp;</td></tr></table></td></tr>" + "<tr style='line-height:2px;'><td>&nbsp;</td></tr></table></a></div><a href='javascript:void(0);' onClick=\"$('#messageDiv').fadeOut('slow');\" class='link'><table width='100%' border='0' cellpadding='0' cellspacing='0' align='center'><tr style='line-height:7px'><td>&nbsp;</td></tr></table></a>"; 
} 

également $('#messageDiv').fadeOut('slow'); ne semble pas fonctionner

+0

BTW, quels sont ces

balises dans le retour pour? –

Répondre

6
$('#messageDiv').fadeOut('slow'); 

ou

$('#messageDiv').fadeOut(250); 

qui signifie que le fondu devrait prendre 250 millisecondes.

Assurez-vous également que votre élément porte le nom de messageDiv et pas autre chose.

modifier

Vous pouvez utiliser un nom de classe au lieu si l'id si vous utilisez WEBForms et de trouver que l'identifiant est pas ce que vous attendez. Je préfère cette approche car elle est moins hit-n-miss

modifier 2

Modifier votre href href='.' et votre événement click pour $('#messageDiv').fadeOut('slow');return false;

+0

@griegs ya j'utilise webforms .. Mais encore je ne peux pas le faire pour travailler –

+0

Changez votre href en href = '.' et votre événement click à $ ('# messageDiv'). fadeOut ('slow'); return false; – griegs

+0

Ce qui précède fonctionne sur mon système – griegs

1

Vous utilisez dans votre div d'erreur:

<a href='javascript:void(0);' onClick=\"$('#messageDiv').fadeOut('slow');\" class='link'> 

Puisque vous utilisez jQuery de toute façon, vous pouvez réécrire cette balise particulière en lui donnant une carte d'identité et de fixer l'événement onclick en utilisant jQuery en direct().

Utilisation:

<a href='#' id='hide_link' class='link'> 

et utiliser le code Javascript suivant quelque part ci-dessous:

$(document).ready(function(){ 
    $('#hide_link').live('click',function(e){ 
     e.preventDefault(); // this will prevent the default link-click action 
     $('#messageDiv').fadeOut('slow'); 
    }); 
});