damnsharp
Terugkerende gebruiker
- Lid geworden
- 6 jan 2012
- Berichten
- 1.414
Hoi,
Ik heb een eenvoudige WP plug-in gemaakt n.a.v. w3schools voorbeeld.
Alleen de accordeon klapt niet open als ik op de regels klik.
Ik mis vast ergens iets, maar wat...
De code is goed want als ik die in codepen.io invoer werkt het prima.
Ok, hier de code.
In een WP pagina plaats ik de HTML code:
De plug-in ziet er zo uit: naam-accordion.php
css/style.css
js/script.css
Het JS bestand wordt goed aangeroepen want als ik er wat andere testcode in plaats zoals een pop-up tonen zie ik dat wel.
Bedankt voor meedenken!
Ik heb een eenvoudige WP plug-in gemaakt n.a.v. w3schools voorbeeld.
Alleen de accordeon klapt niet open als ik op de regels klik.
Ik mis vast ergens iets, maar wat...

De code is goed want als ik die in codepen.io invoer werkt het prima.
Ok, hier de code.
In een WP pagina plaats ik de HTML code:
HTML:
<button class="accordion">Section 1</button>
<div class="panel">
<p>Lorem ipsum...</p>
</div>
<button class="accordion">Section 2</button>
<div class="panel">
<p>Lorem ipsum...</p>
</div>
<button class="accordion">Section 3</button>
<div class="panel">
<p>Lorem ipsum...</p>
</div>
De plug-in ziet er zo uit: naam-accordion.php
PHP:
//registering javascript and css
wp_register_script ( 'script', plugins_url ( 'js/accordeon.js', __FILE__ ) );
wp_register_style ( 'stijl', plugins_url ( 'css/style.css', __FILE__ ) );
wp_enqueue_script('script');
wp_enqueue_style('stijl');
css/style.css
Code:
/* Style the buttons that are used to open and close the accordion panel */
.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
text-align: left;
border: none;
outline: none;
transition: 0.4s;
}
.accordion:after {
content: '\02795'; /* Unicode character for "plus" sign (+) */
font-size: 13px;
color: #777;
float: right;
margin-left: 5px;
}
.active:after {
content: "\2796"; /* Unicode character for "minus" sign (-) */
}
/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.active, .accordion:hover {
background-color: #ccc;
}
/* Style the accordion panel. Note: hidden by default */
.panel {
padding: 0 18px;
background-color: white;
display: none;
overflow: hidden;
}
js/script.css
Code:
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].addEventListener("click", function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight) {
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
}
Het JS bestand wordt goed aangeroepen want als ik er wat andere testcode in plaats zoals een pop-up tonen zie ik dat wel.
Bedankt voor meedenken!