JavaScript - Caché" en enlace onclick javascript

 
Vista:
sin imagen de perfil

Caché" en enlace onclick javascript

Publicado por Pablo (4 intervenciones) el 30/10/2014 22:23:12
Tengo este script que al pulsar el div despliega una capa pero hay que hacer dos veces click para que realice el evento, en otro script gracias a la ayuda de aquí logré solucionarlo pero no sirve la misma solución para este. ¿ Alguien sabe por qué puede ser o si hay otra forma de hacerlo que no ocurra esto? Gracias y disculpad las molestias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript">
//<![CDATA[
function capa()
{
var estilo = document.getElementById("capa").className;
if (estilo == "estilo1")
{
document.getElementById("capa").className = "estilo2";
}
else
{
document.getElementById("capa").className = "estilo1";
}
}
//]]>
</script>

Html
1
<div onclick="capa()"></div>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Caché" en enlace onclick javascript

Publicado por xve (2100 intervenciones) el 31/10/2014 09:55:01
Hola Pablo, no se que te puede estar pasando, pero he probado tu código y funciona perfectamente!!!

He preparado esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html>
<head>
<script>
function capa()
{
	var estilo = document.getElementById("capa").className;
	if (estilo == "estilo1")
	{
		document.getElementById("capa").className = "estilo2";
	}
	else
	{
		document.getElementById("capa").className = "estilo1";
	}
}
</script>
 
<style>
	.estilo1 {color:Red;}
	.estilo2 {color:Green;}
</style>
</head>
<body>
	<div onclick="capa()" id="capa" class="estilo1">Cambiar estilo</div>
</body>
</html>

Si nos puedes comentar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Caché" en enlace onclick javascript

Publicado por Pablo (4 intervenciones) el 02/11/2014 17:24:42
Buenas xve,

he probado a hacer un cambio y si funciona:

1
2
3
4
5
6
7
8
9
10
11
function capa(){
	var miCapa = document.getElementById("capa"),
		estilo = miCapa.className;
	if (estilo == "estilo1"){
		miCapa.className = "estilo2";
	}
	else{
		miCapa.className = "estilo1";
	}
		aux.miCapa.capa = capa == "block" ? "none" : "block";
}

Lo que no logro solucionar es el doble click que hay que hacer sobre el botón para que despliegue la parte inferior. Le he metido la parte final para que abra con un solo click pero creo que esté en conflicto con algún otro script. El archivo que tengo de funciones es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//Menú desplegable acordeón
 
    $(document).ready(function(){
        $('#faq').simpleAccordion({
            header: "dt",
            collapsable: "dd",
            speed: "fast"
        });
    });
 
 
    //Desplegable onclick
 
    function capa(){
        var miCapa = document.getElementById("capa"),
            estilo = miCapa.className;
        if (estilo == "estilo1"){
            miCapa.className = "estilo2";
        }
        else{
            miCapa.className = "estilo1";
        }
         aux.miCapa.capa = capa == "block" ? "none" : "block";
    }
 
    //Selectbox en formulario
 
    $(function () {
    $(".privilege").selectbox();
    $(".companies").selectbox();
    });
 
 
       //Lightbox
 
         $(document).ready(function(){
        $(".ajax").colorbox();
    });
 
 
    // Tabs - navegación por pestañas
 
    $(document).ready(function() {
        $("#content div").hide();
        $("#tabs li:first").attr("id","current");
        $("#content div:first").fadeIn();
 
    $('#tabs a').click(function(e) {
        e.preventDefault();
        $("#content div").hide();
        $("#tabs li").attr("id","");
        $(this).parent().attr("id","current");
        $('#' + $(this).attr('title')).fadeIn();
    });
})();

¿Sabríais por qué puede ser lo de hacer doble click para que despliegue?
Muchas gracias por la contestación y el interés.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Caché" en enlace onclick javascript

Publicado por xve (2100 intervenciones) el 02/11/2014 18:51:59
Hola Pablo, no se ver como te puedo ayudar viendo unicamente el código javascript...

Nos puedes mostrar el código html del menú para poder probarlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar