falkit
Goto Top

Hide - Show divs innerhalb einer Worpress Seite (mit Elementor, Javascript, css)

Hi zusammen,

ich habe eine Wordpress Seite, die mit Elementor gestaltet wird. Als Theme wird Neve verwendet.

Auf einer der Seiten sollen mehrere Produkte präsentiert werden, das ganze soll aussehen wie auf dem angehängten Bild.

Im oberen Bereich Buttons der einzelnen Produkte, der Button des aktuell gezeigtem Produkt in schwarz die anderen in grau.

Durch einen klick auf die unterschiedlichen Produkte, soll sich der Contentbereich ohne Animation entsprechend verändern.
Lösen wollte ich das ganze mit mehreren divs, die per display:none aus- bzw. eingeblendet werden.

Javascript habe ich vor mehreren Jahren zuletzt verwendet, weshalb ich hier aktuell nicht weiterkomme. Ich habe mir diese Anleitung als Leitfaden genommen:
https://html-online.com/articles/simple-popup-box/

Bisher habe ich:
- den HTML Code auf der Seite eingefügt
- Über das "Customize" Menü von Wordpress den CSS Block als zusätzliches CSS hinterlegt
- den javascript Code in die functions.php des Themes geschrieben

Solange ich im "Customize" Bereich bin, wird der die Popup-Box nach klick auf den Link ein- und ausgeblendet. Sobald ich die Seite allerdings einfach aufrufe, passiert nichts, wenn ich auf den Link klicke.

Für Leute die in Javascript fitter sind als ich, ist das wahrscheinlich eine Kleinigkeit, daher meine Frage, ob jemand passenden Code hat (muss auch nicht per js gelöst werden) um ein div bzw. ein Element mit der entsprechenden css Klasse ein und auszublenden?

Den unteren Bereich ab "HEADLINE" würde ich dann in ein eigenes div schreiben, ihm eine Klasse geben und oben entweder Buttons oder HTML Code einfügen.

Ich hoffe ich habe das Problem einigermaßen verständlich beschrieben.

Danke schon mal.

Falk
products

Content-Key: 453691

Url: https://administrator.de/contentid/453691

Printed on: April 19, 2024 at 21:04 o'clock

Member: falscher-sperrstatus
falscher-sperrstatus May 19, 2019 at 17:37:01 (UTC)
Goto Top
Würde dir zu einem Webdesigner raten. Jobbörse oder Zusammenarbeit ist der beste weg.

VG
Member: FalkIT
FalkIT May 20, 2019 updated at 13:14:26 (UTC)
Goto Top
Moin certifiedit, abgesehen davon, dass es denke ich nicht nötig ist, wird auch kein Webdesigner für einen "Auftrag" der nur daraus besteht ein div ein- & auszublenden überhaupt auf eine Anfrage antworten.

Für alle anderen, die den thread lesen und eine Idee haben:

Ich habe das ganze noch einmal neu geschrieben und jetzt folgendes js:

    function toggle_visibility(id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')  
          e.style.display = 'none';  
       else
          e.style.display = 'block';  
    }

und folgenden html code:

<a class="link" onclick="toggle_visibility('mein_div');">Click here</a>  

Dazu einem Button die ID "mein_div" zugewiesen.

Beim ersten Klick auf den Link passiert nichts, danach funktioniert es wie gewünscht.

Wenn jemand mir hier auf die Sprünge helfen kann, wäre ich dafür sehr dankbar.

Gruß
Falk
Member: FalkIT
FalkIT May 20, 2019 at 13:56:24 (UTC)
Goto Top
Problem hat sich gelöst, falls es jemandem hilft:

(Beispiel ist nur für 2 Elemente)

- div 1 ist ID foo zugewiesen
- div 2 ist ID foo2 zugewiesen

javsscript in der functions.php
    
function toggle_visibility(id) {
  var e = document.getElementById(id);
  var f = document.getElementById('foo');  
  var g = document.getElementById('foo2');  

  f.style.display = 'none';  
  g.style.display = 'none';  
  e.style.display = 'block';  
    }

HTML:
<a class="link" onclick="toggle_visibility('foo');">Click 1</a>  
<a class="link" onclick="toggle_visibility('foo2');">Click 2</a>  

Mit Sicherheit nicht die sauberste Lösung alles aus und dann ein Element wieder einzublenden, aber es tut was es soll.