Hello to all, welcome to therichpost.com. In this post, I will tell you, Angular 8 custom accordion working example.
I really enjoyed this code and hope this code snippet will help you. If I will get good reviews on this then I will come with more code snippets.
Here is working code snippet and please use this carefully:
1. Let start, here are the basics commands to set Angular 8 into your pc:
npm install -g @angular/cli //Setup Angular8 atmosphere ng new angularlatest8 //Install New Angular App /**You need to update your Nodejs also for this verison**/ cd angularlatest8 //Go inside the Angular 8 Project
2. After done with above commands, you need to run below command to get jquery into your angular 8 application:
npm install jquery --save
3. Now, you need to add below jquery file path into your Angular 8 application angular.json file:
.... "scripts": ["node_modules/jquery/dist/jquery.js"] ....
4. Now add below code into app.component.ts file:
import { Component, OnInit } from '@angular/core'; import * as $ from 'jquery'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { title = 'angulardatatables'; dtOptions: DataTables.Settings = {}; ngOnInit() { $(".toggle h3").click(function(e){ e.preventDefault(); if($(this).closest("div").find("div:first").css("display")=="none") { $(this).closest("div").find("div:first").show(); $(this).closest("div").find(".plus").text("-"); $(this).closest("div").find(".plus").css("background", "#ffffff"); $(this).closest("div").find(".plus").css("color", "#000"); $(this).closest("div").find("h3").css("background", "#4CAF50"); } else { $(this).closest("div").find("div:first").hide(); $(this).closest("div").find(".plus").text("+"); $(this).closest("div").find(".plus").css("background", "#888888"); $(this).closest("div").find(".plus").css("color", "#fff"); $(this).closest("div").find("h3").css("background", "#f3f3f3"); } }) } }
5. Now add below code into app.component.html file:
I added Bootstrap CDN because to make good looks and we can also add it programmatically:
<div class="jumbotron text-center"> <h1>Custom Accordian</h1> <p>jQuery Bootstrap Accordian</p> </div> <div class="container"> <div class="row"> <div class="col-sm-6"> <div class="toggle mb-2"><h3><span class="plus">+</span><a href="#">Lorem Ipsum is simply dummy text of the printing.</a></h3> <div style="display: none;"> <div class="wpb_text_column wpb_content_element"> <div class="wpb_wrapper"> <p>Lorem Ipsum is simply dummy text of the printing.:</p> <ul> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> </ul> </div> </div> </div> </div> <div class="toggle mb-2"><h3><span class="plus">+</span><a href="#">Lorem Ipsum is simply dummy text of the printing.</a></h3> <div style="display: none;"> <div class="wpb_text_column wpb_content_element"> <div class="wpb_wrapper"> <p>Lorem Ipsum is simply dummy text of the printing.:</p> <ul> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> </ul> </div> </div> </div> </div> <div class="toggle mb-2"><h3><span class="plus">+</span><a href="#">Lorem Ipsum is simply dummy text of the printing.</a></h3> <div style="display: none;"> <div class="wpb_text_column wpb_content_element"> <div class="wpb_wrapper"> <p>Lorem Ipsum is simply dummy text of the printing.:</p> <ul> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> </ul> </div> </div> </div> </div> <div class="toggle mb-2"><h3><span class="plus">+</span><a href="#">Lorem Ipsum is simply dummy text of the printing.</a></h3> <div style="display: none;"> <div class="wpb_text_column wpb_content_element"> <div class="wpb_wrapper"> <p>Lorem Ipsum is simply dummy text of the printing.:</p> <ul> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> </ul> </div> </div> </div> </div> </div> <div class="col-sm-6"> <div class="toggle mb-2"><h3><span class="plus">+</span><a href="#">Lorem Ipsum is simply dummy text of the printing.</a></h3> <div style="display: none;"> <div class="wpb_text_column wpb_content_element"> <div class="wpb_wrapper"> <p>Lorem Ipsum is simply dummy text of the printing.:</p> <ul> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> </ul> </div> </div> </div> </div> <div class="toggle mb-2"><h3><span class="plus">+</span><a href="#">Lorem Ipsum is simply dummy text of the printing.</a></h3> <div style="display: none;"> <div class="wpb_text_column wpb_content_element"> <div class="wpb_wrapper"> <p>Lorem Ipsum is simply dummy text of the printing.:</p> <ul> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> </ul> </div> </div> </div> </div> <div class="toggle mb-2"><h3><span class="plus">+</span><a href="#">Lorem Ipsum is simply dummy text of the printing.</a></h3> <div style="display: none;"> <div class="wpb_text_column wpb_content_element"> <div class="wpb_wrapper"> <p>Lorem Ipsum is simply dummy text of the printing.:</p> <ul> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> </ul> </div> </div> </div> </div> <div class="toggle mb-2"><h3><span class="plus">+</span><a href="#">Lorem Ipsum is simply dummy text of the printing.</a></h3> <div style="display: none;"> <div class="wpb_text_column wpb_content_element"> <div class="wpb_wrapper"> <p>Lorem Ipsum is simply dummy text of the printing.:</p> <ul> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> <li><strong>Lorem Ipsum</strong>: Lorem Ipsum is simply dummy text of the printing.</li> </ul> </div> </div> </div> </div> </div> </div> </div> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
6. Now add below code into app.component.css file:
.toggle h3 a{color:#000; text-decoration:none;} .toggle h3{background: #f3f3f3;padding: 14px 14px 16px 16px;font-size: 14px;cursor:pointer;margin-bottom:0px;width: 100%;transition: 0.4s;} .toggle h3 a{display: block;margin-top: 3px;} .plus{width: 20px;background: #888;color: #fff;border-radius: 100%;padding: 1px;height: 20px;display: block;float: left;margin-right: 11px;text-align: center; line-height: 19px;} .toggle >div {padding: 10px 14px;font-size:16px;border-top: 0px;display: none;background-color: #fff!important;box-shadow: 0 1px 2px rgba(0,0,0,0.2); -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.2);-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.2);-o-box-shadow: 0 1px 2px rgba(0,0,0,0.2);transition: height .35s ease-in-out;}
In the end, don’t forget to run ng serve command to taste the output.
Jassa
Thank you.
Recent Comments