B
blankito1998
Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
document.addEventListener("DOMContentLoaded", () => {Para cambiar el estado del volumen y el fondo de todos los elementos con la clase.meho, puedes modificar tu código para que itere sobre todos los.mehoy realice las acciones necesarias para cada uno. Aquí te dejo una versión modificada de tu código que hace eso:
### Código Modificado
JavaScript:$(document).on("click", ".acult1", function() { $(".meho .octumpro[src]").each(function() { var iframe = this; // 'this' se refiere al iframe actual en la iteración var iframeWindow = iframe.contentWindow; var video = iframeWindow.document.getElementById('video-id'); if (video) { if (video.muted) { $(".acult1").css("background-image", "url(../wpp/img/bt10920.png)"); $.get("iframe.php?volumen=xtrue"); video.muted = false; video.volume = 1.0; } else { $(".acult1").css("background-image", "url(../wpp/img/bt1092.png)"); $.get("iframe.php?volumen=xfalse"); video.muted = true; } } }); });
### Explicación
1. Uso de.each(): Se utiliza$(".meho .octumpro[src]").each(function() {...})para iterar sobre cada iframe encontrado. Esto permite realizar operaciones sobre cada uno de ellos individualmente.
2. Referencia Actual: Dentro de la función de iteración,thisse refiere al iframe actual. En este contexto, lo asignamos a la variableiframe.
3. Acciones por Iframe: Para cada iframe, se verifica si hay un video, y se cambia el estado de muted y el fondo de.acult1según la condición de muted.
### Nota
Ten en cuenta que esto solo cambiará la imagen de fondo de.acult1para cada clic, si deseas cambiarlo independientemente para cada.meho, considera si necesitas alguna lógica adicional para manejar esto.
Si necesitas más ajustes o ayuda, ¡háznoslo saber!
let isDragging = false;
let startY;
let movedDistance = 0;
let currentDiv = null;
const divHeight = 200;
const alertThreshold = divHeight * 0.5;
const startDrag = (e) => {
isDragging = true;
startY = e.touches ? e.touches[0].clientY : e.clientY;
};
const drag = (e) => {
if(isDragging && currentDiv){
const y = e.touches ? e.touches[0].clientY : e.clientY;
const distance = startY - y;
const currentBottom = parseInt(window.getComputedStyle(currentDiv).bottom);
movedDistance = Math.max(0, currentBottom + distance);
currentDiv.style.bottom = movedDistance + 'px';
startY = y;
}
};
const endDrag = () => {
isDragging = false;
if(currentDiv){
if(movedDistance >= alertThreshold){
$(".meho").css("display","none");
alert("subio");
}
currentDiv.style.bottom = "0px";
movedDistance = 0;
currentDiv = null;
}
};
document.addEventListener('mousedown', (e) => {
if(e.target.classList.contains('drag-handle')){
currentDiv = e.target.closest('.metagets'); // Asignar el div padre
startDrag(e); // Iniciar arrastre
}
});
document.addEventListener('mousemove', drag);
document.addEventListener('mouseup', endDrag);
document.addEventListener('touchstart', (e) => {
if(e.target.classList.contains('drag-handle')){
currentDiv = e.target.closest('.metagets');
startDrag(e);
}
});
document.addEventListener('touchmove', drag);
document.addEventListener('touchend', endDrag);
});
puedes hacer lo mismo pero que envie una alerta cuando suba y otra diferente cuando baje

