Ciao, quindi non sono molto esperto di JavaScript e ho provato a usare ChatGPT per generare uno script che consenta agli elementi di un campo di visualizzare un blocco popup con informazioni quando vengono cliccati. Gli elementi sono in una tabella, se queste informazioni sono necessarie.
const tableElement = document.querySelector("table");
// Aggiungi un listener di eventi click alla tabella
tableElement.addEventListener("click", function(event) {
// Ottieni l'elemento che è stato cliccato
const clickedElement = event.target;
// Fai qualcosa solo se l'elemento cliccato è un td
if (clickedElement.tagName === "TD") {
// Crea l'elemento popup e aggiungilo alla pagina
const popup = document.createElement("div");
popup.classList.add("popup");
popup.innerHTML = "Questo è il contenuto del popup!";
document.body.appendChild(popup);
// Posiziona il popup accanto all'elemento cliccato
const rect = clickedElement.getBoundingClientRect();
popup.style.top = `${rect.top + window.scrollY + 10}px`;
popup.style.left = `${rect.left + window.scrollX + 10}px`;
}
});
Ha creato questo, ma provando non funziona. Qualsiasi aiuto su cosa c’è di sbagliato?
Discourse è una complessa applicazione JavaScript e ottenere qualcosa di simile è probabilmente più complicato di un semplice JS… probabilmente avrai bisogno di più aiuto di quanto ChatGPT possa fornire, e non sono sicuro che otterrai questo livello di supporto gratuitamente qui!
Detto questo, prima che qualcuno possa darti consigli qui, dovremo sapere di più su cosa stai cercando di realizzare. Dove si trova questa tabella in Discourse? all’interno di un post? da qualche altra parte? Quali informazioni sarebbero contenute in questo blocco?
Penso che sia giusto, ma ci stavo pensando (senza guardare il codice), e penso che Discourse Translator faccia qualcosa di molto simile. Penso che sia da lì che si dovrebbe iniziare, ma “Ehi, quindi non sono molto esperto di javascript” probabilmente non è il livello di competenza di cui hai bisogno per realizzarlo.
Suppongo che qualcuno che ha familiarità con la scrittura di plugin impiegherà 5-10 ore (ma forse 2 per una prova di concetto).
Va bene hahahah.
La tabella su discourse si trova “Sotto l’intestazione”, sulla prima pagina. Ho intenzione di inserire manualmente più collegamenti di testo nelle caselle. Fammi sapere se hai bisogno di ulteriori informazioni.