JavaScript - Ventana modal mouseover a un th

 
Vista:
sin imagen de perfil
Val: 13
Ha disminuido su posición en 4 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ventana modal mouseover a un th

Publicado por iván (8 intervenciones) el 03/05/2020 10:45:08
Hola a ver si alguien pudiera ayudarme estoy algo atascado, tengo una variación de tabla con unos elementos y quiero que al pasar el raton por encima de los th del thead salga una ventana modal, lo estoy haciendo en javascrip pero no consigo que salga, a ver si alguien puede ayudarme por favor.
Os pego el codigo, lo he intentado de 3 formas y ninguna hace nada.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<script>
    if(document.getElementsByTagName("th")){
        var modal = document.getElementById("tvesModal");
        //var btn = document.getElementById("btnModal");
        var span = document.getElementsByClassName("close")[0];
        var body = document.getElementsByTagName("body")[0];
        //var titulosElts = document.getElementsByTagName("th");
        //var titulosElts = document.getElementById("variations-table-header-at-Best.-Nr.");
        var titulosElts = document.getElementsByClassName("woocommerce-product-attributes-item__label");
        var d1 = titulosElts;
 
 
        d1.onmouseover = function() {
            modal.style.display = "block";
 
            body.style.position = "static";
            body.style.height = "100%";
            body.style.overflow = "hidden";
        }
 
        //span.onclick = function() {
        //	modal.style.display = "none";
 
        //	body.style.position = "inherit";
        //	body.style.height = "auto";
        //	body.style.overflow = "visible";
    //	}
 
        window.onclick = function(event) {
            if (event.target == modal) {
                modal.style.display = "none";
 
                body.style.position = "inherit";
                body.style.height = "auto";
                body.style.overflow = "visible";
            }
        }
    }
</script>
 
<style>
 
    .modalContainer {
        display: none;
        position: fixed;
        z-index: 1;
        padding-top: 100px;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: rgb(0,0,0);
        background-color: rgba(0,0,0,0.4);
    }
 
    .modalContainer .modal-content {
        background-color: #fefefe;
        margin: auto;
        padding: 20px;
        border: 1px solid lightgray;
        border-top: 10px solid #58abb7;
        width: 60%;
    }
 
    .modalContainer .close {
        color: #aaaaaa;
        float: right;
        font-size: 28px;
        font-weight: bold;
    }
 
    .modalContainer .close:hover,
    .modalContainer .close:focus {
        color: #000;
        text-decoration: none;
        cursor: pointer;
    }
 
</style>

Lo que tengo comentado de cerrar la ventana con span, es porque me da error y de momento lo tengo comentado.
Saludos muchas gracias.
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 ScriptShow
Val: 2.019
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ventana modal mouseover a un th

Publicado por ScriptShow (692 intervenciones) el 05/05/2020 22:32:29
Saludos,

se puede empezar por un ejemplo muy sencillo, adaptable, compatible...

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
<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
padding:4px;
border:2px solid black;
}
#modal {
top:0px;
left:0px;
width:100%;
height:100%;
display:none;
position:fixed;
line-height:280px;
background-color:rgba(0,0,0,0.4);
}
</style>
</head>
<body>
<table>
<tr>
<th id="th">Head</th>
</tr>
<tr>
<td>content</td>
</tr>
</table>
 
<div id="modal"><h2 align="center">Modal Test</h2></div>
 
<script>
var x=document.getElementById("th");
var m=document.getElementById("modal");
x.onmouseover=function() {m.style.display="block"}
m.onclick=function() {m.style.display="none"}
</script>
</body>
</html>

Espero sea útil.
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
Val: 13
Ha disminuido su posición en 4 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ventana modal mouseover a un th

Publicado por iván (8 intervenciones) el 06/05/2020 10:13:55
Hola muchas gracias por contestar. No funciona, solo a la tabla que esta montada en body. Tengo que coger el th de una tabla de variaciones de productos en woocommerce, la cosa que con cosole.log veo que coge o bien el th, o incluso el iinnerhtml, puedo señalarlo sin problema pero no hace ni caso, ya no se si es porque la tabla quizas la monta tambien en javascrip o jquary, te paso una foto donde se ve la tabla y parte del codigo a ver si podrias ayudarme por favor.

Captura-de-pantalla-2020-05-06-a-las-10.09.10
Como se ve se señala completo con el filtro, y eso no me interesa, no tengo manera de señalar solo el texto.
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
Val: 13
Ha disminuido su posición en 4 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ventana modal mouseover a un th

Publicado por iván (8 intervenciones) el 06/05/2020 11:15:56
Mira con esta linea consigo sacar solo el texto de encima del filtro
1
2
3
4
var d1 = document.getElementById("variations-table-header-at-Best.-Nr.").innerHTML += "";
 
      //var d1 = titulosElts;
      console.log(d1);
Pero el caso es que en console lo muestra el texto, pero no hace nada ni con mouseover ni con click. Alguna idea?
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
Val: 13
Ha disminuido su posición en 4 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ventana modal mouseover a un th

Publicado por iván (8 intervenciones) el 06/05/2020 12:10:01
Mira con esto, muestra el th como se ve en la imagen, pero al hacer d1.onclick o d1.onmuseover no hace nada de nada.
1
2
3
var titulosElts = document.getElementsByTagName("th");
      var d1 = titulosElts[0];
      console.log(d1);
Tambien poniendo esto otro consigo coger solo el titulo
1
var d1 = titulosElts[0].childNodes[0].data;
Pero igual no hace absolutamente nada
Captura-de-pantalla-2020-05-06-a-las-12.06.17
Al igual que con getElementsByClassName, lo unico que hace es con getElementById pero como le digo no me sirve porque coge el texto y el filtro.
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 ScriptShow
Val: 2.019
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ventana modal mouseover a un th

Publicado por ScriptShow (692 intervenciones) el 06/05/2020 18:56:42
Saludos,

observo que has probado las opciones oportunas, con independencia de los resultados. Diría que vas bien encaminado.
En la distancia, sin saber todos los detalles, y, sin el tiempo que requiere el tema, no es fácil aportar soluciones.

Espero que tu constancia y buen criterio, te lleven a conclusiones acertadas. Que vaya bien todo.

Disculpa por las molestias.
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