BitLiberal
Usuarios
Estado:
0
Hola, tengo MyAlerts, pero la forma de avisar es muy poco eficaz.
Lo que necesito es que cuando el valor que muestra el numero de notificaciones tenga una clase nueva a cuando el valor es 0.
Perdon si no me explico bien, pero lo represantare separado:
Cuando el valor de <span id="notificaciones"> sea 0, se quede como esta, pero cuando el valor de este span cambie a 1, a este se le añada una clase, asi por ejemplo: <span id="notificaciones" class="nuevas-notificaciones">1</span>.
Lo unico que he encontrado por internet es esto:
$('#Notificaciones').text(numUnread);if(numUnread>0){$('#Notificaciones').addClass('nuevas-notificaciones');}else{$('#Notificaciones').removeClass('nuevas-notificaciones');}
Pero como no se del tema, no me funciona o algo estoy haciendo mal. Advierto que todo lo referido a la maquetacion CSS y HTML es cosa mia, solo necesito ese codigo.
Espero vuestras respuestas, gracias.
Whiteneo
Equipo de Soporte
Estado:
Sin conexión
0
Yo uso el valor de la variable como clase y de ahi con jquery le doy la instruccion de los valores de cada clase pero por defecto toma un valor de la clase principal . Mañana te paso el codigo que yo utilizo y miro de adaptar el que expones.
Saludos...
BitLiberal
Usuarios
Estado:
0
Por eso hago esta peticion, de lo primero no he entendido nada.
¡Gracias! Estare a la espera.
Esto es de momento lo que he podido conseguir:
if ( $('#notificaciones').text() >= '1' ) $('#notificaciones').addClass('nuevas-notificaciones');
Y no me funciona.
BitLiberal
Usuarios
Estado:
0
Me he estado estudiando javascript un poco, y he podido crear esto:
var unreadAlerts = {$mybb->user['unreadAlerts']};
if (nuevasAlertas > 0){
// AQUI esta mi problema, no se cual es la funcion para añadirle a un id una clase
}
Whiteneo
Equipo de Soporte
Estado:
Sin conexión
1
Vale es que puede ser de varias formas, sin embargo la mas sencilla es esta:
<div class="noticias num_{$mybb->user['unreadAlerts']}">AQUI EL CONTENIDO DE LAS ALERTAS</div>
Luego en mi css agrego la estilización para noticias y su otra clase por diferentes.
.noticias{
//AQUI EL CONTENIDO DE LA HOJA DE ESTILO...
}
.num_0{
//AQUI EL CONTENIDO DE LA HOJA DE ESTILO CUANDO ES 0.
}
Igualmente se puede hacer con uno, dos, tres y los demás y si no existe esa hoja toma el valor sólo de la principal, saludos...
COn jQuery igualmente puedes hacer uso de AddClass y RemoveClass, o directamente el css que deseas, ya con jQuery se puede colocar el valor con condicionales tal ves, esto no lo he probado, pero si tengo tiempo lo hago y veo que cosa y ya te digo una forma completa y mejor.
Yo casi uso asi las variables para agregar las clases o un identificador para que al ser único dato se refleje el cambio si es uno u otro valor .
O sea:
<div class="noticias" id=num_{$mybb->user['unreadAlerts']}">AQUI EL CONTENIDO DE LAS ALERTAS</div>
Y ya con esto haces la clase normal y el id .
.noticias{
//AQUI EL CONTENIDO DE LA HOJA DE ESTILO...
}
#num_0{
//AQUI EL CONTENIDO DE LA HOJA DE ESTILO CUANDO ES 0.
}
BitLiberal
Usuarios
Estado:
0
Okey, muchas gracias, no se me había ocurrido usar ese truco de las variables en una clase, muy inteligente.
¡Saludos!
calamar
Usuarios
Estado:
0
Estoy leyendo este tema y no doy con la solución , En que plantilla se tendría que editar ?
BitLiberal
Usuarios
Estado:
0
Hola Calamar, te comento:
No hay que editar plantillas, lo que yo tenia, es un fondo para el numero de alertas en la caberca, y lo que pedia es que ese color cambiara al tener 1 alerta o mas.
El inteligente truco de @Dark Neo consiste en agregarle la variable del numero de alertas al span que crea el fondo, un ejemplo:
<span id="notificaciones" cass="notificaciones_{$mybb->user['unreadAlerts']}">{$mybb->user['unreadAlerts']}</span>
El id notificaciones tiene el color de fondo alerta nueva, y notificaciones_{$mybb->user['unreadAlerts']} genera clases diferentes en cuanto al numero de alertas. Por ejemplo, si se tiene dos alertas, la clase se mostraria asi en el navegador:
notificaciones_2
Pero no hay que hacer una clase por numero, si no una sola,
notificaciones_0, que sera el estilo cuando haya 0 notificaciones. Cuando haya mas de una, la clase cambara a notificaciones_X, y al no estar en la hoja de estilos, se anulara y mostrara solo el estilo del id notificaciones.
calamar
Usuarios
Estado:
0
Estoy probando , pero no hay forma que me cambie el color de fondo de la alerta .
He ido a mi headinclude y puesto ;
<script type="text/javascript"> var unreadAlerts = <span id="notificaciones" class="notificaciones_{$mybb->user['unreadAlerts']}">{$mybb->user['unreadAlerts']}</span>; </script>
He definido los fondos rojo y negro en una hoja de estilo ;
notificaciones { background: 000000; color: #000000; } notificaciones_{ background: FF0000; color: #FF0000; }
y nada no cambia de color cuando tengo una notificación . A seguir pues investigando ...
BitLiberal
Usuarios
Estado:
0
Es que no es una variable, nisiquiera se utiliza el jQuery, es simple html.
Ese codigo debes ponerlo donde se muestra el numero en tu cabecera, y la clase de notificaciones_X no debe estar vacia, tiene que tener un cero para que muestre esa clase cuando se tienen 0 alertas.
Si no sabes, me paso por tu foro y en un vistazo lo arreglamos.
¡Saludos!
|