Hilfe bei Accordion Code

Thema wurde von arnold_abraham, 16. Mai 2017 erstellt.

  1. arnold_abraham
    arnold_abraham Aktives Mitglied
    Registriert seit:
    12. März 2017
    Beiträge:
    33
    Danke erhalten:
    0
    Danke vergeben:
    13
    Hallo,

    Ich würde gerne eine FAQ erstellen mit mehreren Accordion's.

    Ich habe zu diesem Thema folgendes gefunden:

    -----------------------------------------------------------------------------------------------------------------------------------------------------

    So sieht es aus:
    [​IMG]

    Hierfür notwendig:

    HTML:
    <!-- Html Accordion Box -->
    <div class="abtitel">
    <h4>&Uuml;berschrift</h4>
    </div>
    <div class="abinhalt">
    <p>Lorem ipsum Lorem ipsum Lorem ipsum .</p>
    <p>Lorem ipsum Lorem ipsum Lorem ipsum .</p>
    </div>
    <!-- /Html Accordion Box -->

    wo füge ich diesen Code ein???




    /templates/Honeygrid/usermod/css/meinstyle.css
    Code:

    /* WWA ACCORDION BOX Gambio Honeygrid */
    .abtitel {
    padding-left:15px;
    height:28px;
    background: url(/images/.../accordion-open.png) 0 3px no-repeat !important;
    cursor: pointer;
    color:#104675;
    }
    .aboffen {
    background: url(/images/.../accordion-close.png) 0 3px no-repeat !important;
    }
    .abinhalt {
    display:none;
    background-color:#fff;
    border: #CCCCCC 1px solid;
    padding: 10px;
    margin-bottom:10px;
    }
    /* /WWA ACCORDION BOX Gambio Honeygrid */

    Kann ich diesen Code auch beim SE3 unter CSS einfügen? (sollte Updatesicher sein)





    /templates/Honeygrid/usermod/javascript/Global/meinscript.js

    Code:
    // WWA ACCORDION BOX Gambio Honeygrid
    $(document).ready(function() {
    $('.abtitel').click(function() {
    $('.abtitel').removeClass('aboffen');
    $('.abinhalt').slideUp('normal');
    if($(this).next().is(':hidden') == true) {
    $(this).addClass('aboffen');
    $(this).next().slideDown('normal');
    }
    });
    });

    Auch hier weiß ich leider nicht wo ich den Code einfügen soll?! :-(




    Und dann noch die zwei Bilder:
    [​IMG]

    [​IMG]

    Wohin damit?
    ------------------------------------------------------------------------------------------------------------------------------------------------------


    Wie ihr nur unschwer erkennen könnt, bin ich ein totaler CSS/HTML Anfänger und würde hierbei eure Hilfe benötigen.
    Arbeite mich bereits langsam in CSS und HTML ein ;-) Hoffe das wird mal was ^^

    Vielen Dank!!
     
  2. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.211
    Danke erhalten:
    6.221
    Danke vergeben:
    1.108
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    da wo du das faq haben willst wohl neue content seite
    ja kannst als datei oder im se3 machen - beides bewirkt am ende das selbe
    das wäre wohl usermod js, das soll aber glaube wegfallen. daher dann evtl. als script mit im content des html
    in images folder, man muss halt im code den pfad entsprechend anpassen

    aber gambio nutzt bootstrap, da ist coolaps eigentlich drinnen.
    wäre (Link nur für registrierte Nutzer sichtbar.)
     
  3. arnold_abraham
    arnold_abraham Aktives Mitglied
    Registriert seit:
    12. März 2017
    Beiträge:
    33
    Danke erhalten:
    0
    Danke vergeben:
    13
    Super Vielen Dank!!!

    Ich versuche mich erstmal an die oben genannten Codes und falls das nichts wird dann collapse.

    Noch eine kurze Frage zu Collapse (Den Code füge ich dann im Content Manager ein wo das FAQ stehen soll?)

    Bitte um kurze Aufklärung falls ich da falsch liege...

    Danke! :)
     
  4. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.211
    Danke erhalten:
    6.221
    Danke vergeben:
    1.108
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Ja, habs aber eben versucht, das scheint gambio aufgrund sparmaßnahmen (zu gunsten der Ladezeiten) nicht mit genommen zu haben. - muss man also doch nachbauen bzw. bisl. mehr fummeln.
     
  5. arnold_abraham
    arnold_abraham Aktives Mitglied
    Registriert seit:
    12. März 2017
    Beiträge:
    33
    Danke erhalten:
    0
    Danke vergeben:
    13
    ok, vielen dank! :)
     
  6. arnold_abraham
    arnold_abraham Aktives Mitglied
    Registriert seit:
    12. März 2017
    Beiträge:
    33
    Danke erhalten:
    0
    Danke vergeben:
    13
    Habe jetzt alles erledigt, dennoch funkt. es leider nicht :-/

    Habe im Content Manager ein FAQ erstellt und alles eingefügt. Auch CSS ist erledigt.

    Das Bild (pfeil) wird ebenfalls korrekt angezeigt. Nur die Aufklappfunktion geht nicht...

    Ich habe den folgenden Code am Ende vom FAQ eingefügt:

    // WWA ACCORDION BOX Gambio Honeygrid $(document).ready(function() {
    $('.abtitel').click(function() {
    $('.abtitel').removeClass('aboffen');
    $('.abinhalt').slideUp('normal');
    if($(this).next().is(':hidden') == true) {
    $(this).addClass('aboffen');
    $(this).next().slideDown('normal');
    } }); });

    Mir wird dieser Code dann im Shop beim FAQ angezeigt...

    Ist dieser korrekt?
     
  7. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.211
    Danke erhalten:
    6.221
    Danke vergeben:
    1.108
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    ob der code richtig ist weiß ich nicht. Gambio hat bootstrap und jquery beschnitten. Man muss diese Funktionen also selbst noch einbauen.
    Also eigenes JS hinterlegen auf den Seiten.
    Wenns nur bisl ist könnt man das mit
    <script> … </script> evtl. machen. Aber JS is nicht mein ding. das mag ich nicht. das so unschön zu lesen.
     
  8. Habe mir bootstrap von http://holdirbootstrap.de/ heruntergeladen, da ich das immer zum Testen nehme.
    Dann davon unter Honeygrid/usermod/javascript/global/ die bootstrap-collapse.min.js eingefügt, dann funktionierte das wieder unter 3.4.x.x
     
  9. arnold_abraham
    arnold_abraham Aktives Mitglied
    Registriert seit:
    12. März 2017
    Beiträge:
    33
    Danke erhalten:
    0
    Danke vergeben:
    13
    Habe diese jetzt eingefügt aber leider funkt. diese noch immer nicht :(
     
  10. patrickramin
    patrickramin Erfahrener Benutzer
    Registriert seit:
    4. November 2015
    Beiträge:
    226
    Danke erhalten:
    41
    Danke vergeben:
    50
    Pack die angehängte accordion.js mal in: /templates/Honeygrid/usermod/javascript/Global/
     

    Anhänge:

  11. arnold_abraham
    arnold_abraham Aktives Mitglied
    Registriert seit:
    12. März 2017
    Beiträge:
    33
    Danke erhalten:
    0
    Danke vergeben:
    13
    Leider passiert da nichts :-(

    Nur damit keine Verwirrung entsteht - hier nochmal der ganze Code unter Content Manager "FAQ"

    <strong><span style="font-size: 20px;"><span style="font-family: dosis,sans-serif;">FAQ - Versandinformationen</span></span></strong><br />
    <br />

    <!-- Html Accordion Box -->
    <div class="abtitel">
    <h4><span style="font-size: 14px;"><strong>Wie viel kostet der Versand und mit was wird mein Paket versendet?</strong></span></h4>
    </div>
    <div class="abinhalt">
    Wir liefern unsere Produkte ab einem Bestellwert von EUR 80,00 kostenfrei zu Ihnen nach Hause. Bei unterschreiten der Frachtfreigrenze fallen EUR 4,90 Versandkosten für Sie an.</div>
    <!-- /Html Accordion Box -->

    // WWA ACCORDION BOX Gambio Honeygrid $(document).ready(function() {
    $('.abtitel').click(function() {
    $('.abtitel').removeClass('aboffen');
    $('.abinhalt').slideUp('normal');
    if($(this).next().is(':hidden') == true) {
    $(this).addClass('aboffen');
    $(this).next().slideDown('normal');
    } }); });




    Dies sieht dann so aus im Shop:
     

    Anhänge:

  12. arnold_abraham
    arnold_abraham Aktives Mitglied
    Registriert seit:
    12. März 2017
    Beiträge:
    33
    Danke erhalten:
    0
    Danke vergeben:
    13
    GESCHAFFT! :D


    Vielen Dank !!!
    Auf das Forum kann man sich eben verlassen!
     
  13. patrickramin
    patrickramin Erfahrener Benutzer
    Registriert seit:
    4. November 2015
    Beiträge:
    226
    Danke erhalten:
    41
    Danke vergeben:
    50
    Das JS muss da wieder raus aus dem Content, sprich das muss weg:

    // WWA ACCORDION BOX Gambio Honeygrid $(document).ready(function() {
    $('.abtitel').click(function() {
    $('.abtitel').removeClass('aboffen');
    $('.abinhalt').slideUp('normal');
    if($(this).next().is(':hidden') == true) {
    $(this).addClass('aboffen');
    $(this).next().slideDown('normal');
    } }); });
     
  14. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    21. Oktober 2016
    Beiträge:
    178
    Danke erhalten:
    8
    Danke vergeben:
    78
    Es geht auch ohne Javascript und Jquery:
    Einfach HTML und CSS: (Link nur für registrierte Nutzer sichtbar.)
     
  15. Anonymous
    Anonymous Mitglied
    Registriert seit:
    30. August 2017
    Beiträge:
    17
    Danke erhalten:
    0
    Danke vergeben:
    10
    Ich habe mein Accordion zwar auch mit JS gemacht....aber irgendwie komme ich nicht auf dem Fehler. Funktioniert alles soweit, aber wenn ich auf dem nächstes Tab klicke, sollte der offene sich automatisch schließen um eine lange Liste zu vermeiden. Vielleicht hat jemand eine Idee oder sieht was ich falsch gemacht habe?

    Mein JS script:
    Code:
    var acc = document.getElementsByClassName("accordion");
    var i;
    
    for (i = 0; i < acc.length; i++) {
      acc[i].onclick = function() {
        this.classList.toggle("active");
        var panel = this.nextElementSibling;
        if (panel.style.maxHeight){
          panel.style.maxHeight = null;
        } else {
          panel.style.maxHeight = panel.scrollHeight + "px";
        }
      }
    }
    HTML:
    HTML:
    button.accordion {
        background-color: #eee;
        color: #606eb5;
        cursor: pointer;
        margin-bottom: 10px;
        padding: 18px;
        width: 100%;
        border: 1px;
        text-align: left;
        outline: none;
        font-size: 18px;
        transition: 0.4s;
    }
    
    button.accordion.active, button.accordion:hover {
        background-color: #ccc;
    }
    
    button.accordion:after {
        content: '\002B';
        color: #777;
        font-weight: bold;
        float: right;
        margin-left: 5px;
    }
    
    button.accordion.active:after {
        content: "\2212";
    }
    
    div.panel {
        padding: 0 18px;
        background-color: white;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.22s ease-out;
    }
    Weiter versuchte ich sowas zu bekommen mit dem Farbverlauf, leider geht das hier nicht mit dem Befehl:
    HTML:
    background:
        linear-gradient(
            cyan,
            transparent
        ),
        linear-gradient(
            -45deg,
            magenta,
            transparent
        ),
        linear-gradient(
            45deg,
            yellow,
            transparent
        );
    background-blend-mode: multiply;
    Ich sage schon mal Danke für irgendwelche Tipps.
     

    Anhänge:

  16. Anonymous
    Anonymous Mitglied
    Registriert seit:
    30. August 2017
    Beiträge:
    17
    Danke erhalten:
    0
    Danke vergeben:
    10

    Könntest du mir mit deiner Variante helfen? Finde ich sehr elegant gestaltet.
     
  17. Anonymous
    Anonymous Mitglied
    Registriert seit:
    30. August 2017
    Beiträge:
    17
    Danke erhalten:
    0
    Danke vergeben:
    10
    Ich habe es jetzt so gelöst: (Link nur für registrierte Nutzer sichtbar.) allerdings ärgert es mich dass einen offenen Reiter nicht zugeht wenn der nächste aufgemacht wird. Ich finde den Fehler einfach nicht :-(
     
  18. #18 postel, 24. Oktober 2017
    Zuletzt von einem Moderator bearbeitet: 24. Oktober 2017
    Da fehlt was im js, das der nächste geschlossen wird.
    Schnellste Lösung, dein Html so ändern:
    HTML:
    ......................
    <button class="faq_frage">Why do I need to register an account?</button>
    
    <div class="faq-antwort">
        <p>
            <br />
            Digital Sourcing offer 3 types of account and depending on your size / style of business you will receive varying minimum order quantity requirements.<br />
            <br />
            During the account setup we ask you for company details such as your company registration number and VAT number (applicable for SME-accounts and National Accounts).<br />
            <br />
            This information is imperative for establishing an account, receiving wholesale prices and Ex-VAT invoices, where applicable. We require this information before we can grant you access to our secured page.<br />
            <br />
            I&rsquo;m sure you can appreciate that we need to protect your costs prices.
        </p>
    </div>
    <button class="faq_frage">How can I change my account from Small Wholesale to SME?</button>
    
    <div class="faq-antwort">
        <p>
            <br />
            You can change your accounts by writing the Wholesale Team via email to wholesale@digitalsourcing.support. Please include your company registration number and your VAT number.
        </p>
    </div>
    ....................
    dann das js unter /global :
    Code:
    $(document).ready( function() {
    $('.faq_frage').not('.faq_frage_active').next('.faq-antwort').hide();
    $('.faq_frage').click( function() {
    var trig = $(this);
    if ( trig.hasClass('faq_frage_active') ) {
    trig.next('.faq-antwort').slideToggle('slow');
    trig.removeClass('faq_frage_active');
    } else {
    $('.faq_frage_active').next('.faq-antwort').slideToggle('slow');
    $('.faq_frage_active').removeClass('faq_frage_active');
    trig.next('.faq-antwort').slideToggle('slow');
    trig.addClass('faq_frage_active');
    };
    return false;
    });
    });
    
    so funktioniert das bei mir ohne Problem,
    dann das css noch anpassen.
    deine classen .panel und .accordion werden vielleicht im Shop noch anderweitig verwendet,
    so das es nicht funktioniert. Bei Neueinbauten immer eigene class-namen erfinden.
     
  19. Anonymous
    Anonymous Mitglied
    Registriert seit:
    30. August 2017
    Beiträge:
    17
    Danke erhalten:
    0
    Danke vergeben:
    10
    Hallo Postel,

    vielen Dank. Es hat perfekt funktioniert. Jetzt muss ich nur noch mein CSS anpassen und alle sind Glücklich.

    Besten Dank nochmal für die Hilfe.