Skip to content

Instantly share code, notes, and snippets.

View joseacat's full-sized avatar
🍋
Con el condensador de fluzo en mano, por lo que pueda pasar

Jose A. Catalán joseacat

🍋
Con el condensador de fluzo en mano, por lo que pueda pasar
View GitHub Profile
@joseacat
joseacat / gist:eddf63dc7ff862be7e94ed4ba7cbee40
Created June 6, 2024 14:21
Evento en JS tras añadir al carrito en Woocommerce
// Abrir carrito tras añadir al carrito
var btns_anadir_producto = document.querySelectorAll('.single_add_to_cart_button')
btns_anadir_producto.forEach(function (btn_anadir_producto) {
var prevClassState = btn_anadir_producto.classList.contains('added');
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if(mutation.attributeName == "class"){
var currentClassState = mutation.target.classList.contains('added');
if(prevClassState !== currentClassState) {
prevClassState = currentClassState;
@joseacat
joseacat / datalayerpush.js
Created February 19, 2024 16:40
Ejemplo Datalayer
const botones_menu = document.querySelectorAll(".drl-menu-item");
botones_menu.forEach((item) => {
item.addEventListener("click", () => {
const label_item = item.querySelector("span").textContent;
const text_item = label_item.replace(/\s+/g, "_");
dataLayer.push({
event: "custom_click",
event_category: "header",
event_action: "menu",
event_label: label_item,
@joseacat
joseacat / estilos.css
Created December 30, 2020 00:33
Plegables con inputs de tipo checkbox. Solo CSS.
.bloque-plegable > input + * {
display: none;
}
.bloque-plegable > input:checked + * {
display: block;
}
.bloque-plegable > input[type=checkbox] {
display: none;
}
.bloque-plegable > label {
@joseacat
joseacat / sorteo.php
Last active November 27, 2019 07:36
Script PHP para realizar amigo invisible
<?php
// Correos implicados en el sorteo
$correos = [
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]"
@joseacat
joseacat / estilo.css
Created February 20, 2019 11:20
Estilos listado CSS
.listado-grid{
display: grid;
grid-template-columns: repeat(4, minmax(auto, 1fr));
grid-gap: 20px;
}
.listado-block{
display: block;
}
@joseacat
joseacat / app.js
Last active February 14, 2019 16:05
Ver/ocultar elementos uno a uno con JavaScript
document.addEventListener('DOMContentLoaded', function() {
var bloques_ocultos = document.getElementsByClassName('bloque oculto');
var bloques = document.getElementsByClassName('bloque');
var numero_bloques = bloques.length - 1;
// Click en ver más
document.getElementById('ver-mas').addEventListener('click', function() {
if(bloques_ocultos[0]){
console.log(bloques_ocultos.length);
bloques_ocultos[0].classList.remove('oculto');