-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJS.js
158 lines (145 loc) · 5.35 KB
/
JS.js
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
// nose
function menuintegrantes(Integrantes) {
const projectLists = document.querySelectorAll('.listai');
projectLists.forEach(list => list.style.display = 'none');
document.getElementById(personaId).style.display = 'block';
}
function showProjects(personaId) {
const projectLists = document.querySelectorAll('.project-list');
projectLists.forEach(list => list.style.display = 'none');
document.getElementById(personaId).style.display = 'block';
}
// Api del clima
async function getWeather() {
const apiKey = '089ee7c3b08157d9ccc044a0fe6b7787'; // Reemplaza con tu clave API
const city = document.getElementById('city').value;
const url = `https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}&lang=es&units=metric`;
try {
const response = await fetch(url);
if (!response.ok) throw new Error('Ciudad no encontrada');
const data = await response.json();
const weatherDiv = document.getElementById('weather');
weatherDiv.innerHTML = `
<h2>Clima en ${data.name}</h2>
<p><strong>Descripción:</strong> ${data.weather[0].description}</p>
<p><strong>Temperatura:</strong> ${data.main.temp}°C</p>
<p><strong>Humedad:</strong> ${data.main.humidity}%</p>
<p><strong>Viento:</strong> ${data.wind.speed} m/s</p>
`;
} catch (error) {
document.getElementById('weather').innerHTML = `<p>${error.message}</p>`;
}
}
// Mensaje de usuario
function enviarFormulario() {
// Obtener los valores de los campos
var nombre = document.getElementById('nombre').value.trim();
var email = document.getElementById('email').value.trim();
var mensaje = document.getElementById('mensaje').value.trim();
// Validar que los campos no estén vacíos
if (nombre === '' || email === '' || mensaje === '') {
alert('Por favor completa todos los campos.');
return false;
}
// Validar el formato del correo electrónico
var emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (!emailPattern.test(email)) {
alert('Por favor ingresa un correo electrónico válido.');
return false;
}
// Enviar el formulario
alert('Mensaje enviado correctamente:\n\nNombre: ' + nombre + '\nEmail: ' + email + '\nMensaje: ' + mensaje);
return true;
}
//Slide automatico
// JavaScript para el slider automático
const slider = document.querySelector('.slider-inner');
let counter = 1;
setInterval(() => {
slider.style.transition = 'transform 0.5s ease-in-out';
slider.style.transform = `translateX(-${counter * 100}%)`;
counter++;
if (counter === 6) {
counter = 0;
setTimeout(() => {
slider.style.transition = 'none';
slider.style.transform = 'translateX(0)';
}, 500);
}
}, 5000); // Cambiar la imagen cada 3 segundos
//calculo diferencial
//grafia de calculo
// Datos
const labels = ['Energía Solar', 'Energía Eólica', 'Energía Hidroeléctrica', 'Energía Biomasa', 'Energía Geotérmica'];
const data = [5470, 7800, 6670, 8000, 7500];
// Configuración de la gráfica
const config = {
type: 'bar',
data: {
labels: labels,
datasets: [{
label: 'Producción Anual',
data: data,
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
y: {
beginAtZero: true
}
}
}
};
// Crear la gráfica
var myChart = new Chart(
document.getElementById('myChart'),
config
);
// Obtener los elementos de las asignaturas
var asignaturaInfo = document.querySelectorAll('.asignatura-info');
var calculoLink = document.querySelector('.Calculo');
var fisicaLink = document.querySelector('.Fisica');
var ecoLink = document.querySelector('.Eco');
var inglesLink = document.querySelector('.Ingles');
var programacionLink = document.querySelector('.Programacion');
// Agregar eventos de clic a los enlaces de las asignaturas
calculoLink.addEventListener('click', function() {
mostrarInfo('Calculo');
});
fisicaLink.addEventListener('click', function() {
mostrarInfo('Fisica');
});
ecoLink.addEventListener('click', function() {
mostrarInfo('Eco');
});
inglesLink.addEventListener('click', function() {
mostrarInfo('Ingles');
});
programacionLink.addEventListener('click', function() {
mostrarInfo('Programacion');
});
// Función para mostrar la información de la asignatura correspondiente y ocultar las demás
function mostrarInfo(asignatura) {
for (var i = 0; i < asignaturaInfo.length; i++) {
if (asignaturaInfo[i].id === asignatura) {
asignaturaInfo[i].style.display = 'block';
} else {
asignaturaInfo[i].style.display = 'none';
}
}
}