Cerrar Ventana

Algunas cookies de este sitio son esenciales, y el sitio no funcionará como se espera sin ellas. Estas cookies se establecen en el momento de enviar un formulario, inicie sesión o interactuar con el sitio realizando una acción que va más allá de hacer clic en un simple enlace.


Leer Más

Somos un foro de soporte en español que no tiene publicidad y tiene muchas cosas gratuitas aportadas por la comunidad, contribuye con el foro para poder así obtener alguna membresía de manera gratuita.
SoporteMyBB tiene un total de
1124 temas de soporte.
0 quedan aún por resolver, 244 han quedado obsoletos y 880 han sido resueltos.
Aún no tienes una cuenta, regístrate es gratis.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Peticion de codigo
 BitLiberal
Usuarios
BitLiberal
Estado:
 
0
0
0
0
9 June 2014, 02:07
#1
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 Soporte Técnico
354
4,693
Mexico
5
93
576
9 June 2014, 05:12
#2
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 Gran sonrisa. Mañana te paso el codigo que yo utilizo y miro de adaptar el que expones.

Saludos...
 
 BitLiberal
Usuarios
BitLiberal
Estado:
 
0
0
0
0
9 June 2014, 13:53
#3
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
BitLiberal
Estado:
 
0
0
0
0
9 June 2014, 19:13
#4
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 Soporte Técnico
354
4,693
Mexico
5
93
576
9 June 2014, 22:15
#5
1
Mejor respuesta del mensaje RE: Peticion de codigoVale 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 Gran sonrisa.

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 Gran sonrisa.

.noticias{
  //AQUI EL CONTENIDO DE LA HOJA DE ESTILO...
}

#num_0{
  //AQUI EL CONTENIDO DE LA HOJA DE ESTILO CUANDO ES 0.
}
 
 BitLiberal
Usuarios
BitLiberal
Estado:
 
0
0
0
0
10 June 2014, 11:57
#6
0
Okey, muchas gracias, no se me había ocurrido usar ese truco de las variables en una clase, muy inteligente.

¡Saludos!
 
 calamar
Usuarios
calamar
Estado:
 
0
0
0
0
13 June 2014, 14:37
#7
0
Estoy leyendo este tema y no doy con la solución , En que plantilla se tendría que editar ?
 
 BitLiberal
Usuarios
BitLiberal
Estado:
 
0
0
0
0
13 June 2014, 14:56
#8
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
calamar
Estado:
 
0
0
0
0
13 June 2014, 16:04
#9
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 {
    
background000000;           
    
color#000000;
}
notificaciones_{
    
backgroundFF0000;
    
color#FF0000;


y nada no cambia de color cuando tengo una notificación . A seguir pues investigando ...
 
 BitLiberal
Usuarios
BitLiberal
Estado:
 
0
0
0
0
13 June 2014, 16:15
#10
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!
 




Usuarios navegando en este tema: 1 invitado(s)