Search code examples
javascripthtmlcsstwitter-bootstrapjscolor

Adding jscolor class to bootstrap navbar


I am trying to make boootstrap navbar work with jscolor like this button bellow.

<script src="https://cdnjs.cloudflare.com/ajax/libs/jscolor/2.0.4/jscolor.min.js"></script>
<button
    class="jscolor {valueElement:null,value:'333'}"
    style="border:1px solid black">
    Color
</button>

Here is the navbar which i am trying to connect with jscolor:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jscolor/2.0.4/jscolor.min.js"></script>
<script src="jscolor.js"></script>

<nav class="navbar navbar-inverse navbar-fixed-top jscolor {valueElement:null,value:'333'}">


Solution

  • Hope this will help, z-index is needed so that navbar would not overlap color picker.

    var nav = document.getElementById("navbar");
    var navColor = document.getElementById("nav-color");
    
    nav.addEventListener("click", function(){
    	navColor.jscolor.show();
    });
    #navbar {
      z-index: 0;
      cursor: pointer;
    }
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jscolor/2.0.4/jscolor.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jscolor/2.0.4/jscolor.min.js"></script>
    
    <input id="nav-color" class="jscolor {styleElement:'navbar',value:'333'}" type="hidden">
    <nav id="navbar" class="navbar navbar-inverse navbar-fixed-top ">
    </nav>