javascript - Diffrent menu color of each section/ -


how can change menu color when scrollbar has moved new div id or menu item clicked , scrolled down new id?

i working on 1 page website, , using scroll section id on webpage. , want menu change color every section id.

how 1 go doing jquery? here example

here html code:

    <body>             <div id="cssmenu-holder"><div id='cssmenu' class="align-center">                 <ul>                    <li><a href='#'>hem</a></li>                    <li><a href='#'>om spelet</a></li>                    <li><a href='#'>regler</a></li>                    <li><a href='#'>köp spelet</a></li>                    <li><a href='#'>kontakta oss</a></li>                 </ul>             </div> </div>         <!-- banner -->             <div id="banner" class="col-lg-12">                 banner here              </div>             <section id="about">                     game                 </section>              <!-- rules -->                 <section id="rules" class="style-bg">                     find rules here                 </section>                  <!-- om -->                 <section id="buy" class="">                     buy                 </section>              <!-- contact -->                 <section id="contact" class="style-bg">                     contact me                 </section>          <!-- footer -->             <footer id="footer">                 info             </footer>  </body> 

and here css code menu:

    @import url(http://fonts.googleapis.com/css?family=open+sans); #cssmenu-holder {     z-index: 9999; position: fixed; left: 0; top: 0; width: 100%; } #cssmenu, #cssmenu ul, #cssmenu ul li, #cssmenu ul li a, #cssmenu #menu-button {   margin: 0;   padding: 0;   border: 0;   list-style: none;   line-height: 1;   display: block;   position: relative;   -webkit-box-sizing: border-box;   -moz-box-sizing: border-box;   box-sizing: border-box;  } #cssmenu.align-center > ul {   font-size: 0;   text-align: center; } #cssmenu:after, #cssmenu > ul:after {   content: ".";   display: block;   clear: both;   visibility: hidden;   line-height: 0;   height: 0; } #cssmenu #menu-button {   display: none; } #cssmenu {   width: auto;   font-family: 'open sans', sans-serif;   line-height: 1;   background: #2e8be6; } #menu-line {   position: absolute;   top: 0;   left: 0;   height: 3px;   background: #fff;   -webkit-transition: 0.25s ease-out;   -moz-transition: 0.25s ease-out;   -ms-transition: 0.25s ease-out;   -o-transition: 0.25s ease-out;   transition: 0.25s ease-out; } #cssmenu > ul > li {   float: left; } #cssmenu.align-center > ul {   font-size: 0;   text-align: center; } #cssmenu.align-center > ul > li {   display: inline-block;   float: none; } #cssmenu.align-center ul ul {   text-align: left; } #cssmenu.align-right > ul > li {   float: right; } #cssmenu.align-right ul ul {   text-align: right; } #cssmenu > ul > li > {   padding: 20px;   font-size: 12px;   text-decoration: none;   text-transform: uppercase;   color: #fff;   -webkit-transition: color .2s ease;   -moz-transition: color .2s ease;   -ms-transition: color .2s ease;   -o-transition: color .2s ease;   transition: color .2s ease; } #cssmenu > ul > li:hover > a, #cssmenu > ul > li.active > {   color: #fff; } #cssmenu > ul > li.has-sub > {   padding-right: 25px; } #cssmenu > ul > li.has-sub > a::after {   position: absolute;   top: 21px;   right: 10px;   width: 4px;   height: 4px;   border-bottom: 1px solid #000000;   border-right: 1px solid #000000;   content: "";   -webkit-transform: rotate(45deg);   -moz-transform: rotate(45deg);   -ms-transform: rotate(45deg);   -o-transform: rotate(45deg);   transform: rotate(45deg);   -webkit-transition: border-color 0.2s ease;   -moz-transition: border-color 0.2s ease;   -ms-transition: border-color 0.2s ease;   -o-transition: border-color 0.2s ease;   transition: border-color 0.2s ease; } #cssmenu > ul > li.has-sub:hover > a::after {   border-color: #009ae1; } #cssmenu ul ul {   position: absolute;   left: -9999px; } #cssmenu li:hover > ul {   left: auto; } #cssmenu.align-right li:hover > ul {   right: 0; } #cssmenu ul ul ul {   margin-left: 100%;   top: 0; } #cssmenu.align-right ul ul ul {   margin-left: 0;   margin-right: 100%; } #cssmenu ul ul li {   height: 0;   -webkit-transition: height .2s ease;   -moz-transition: height .2s ease;   -ms-transition: height .2s ease;   -o-transition: height .2s ease;   transition: height .2s ease; } #cssmenu ul li:hover > ul > li {   height: 32px; } #cssmenu ul ul li {   padding: 10px 20px;   width: 160px;   font-size: 12px;   background: #fff;   text-decoration: none;   color: #dddddd;   -webkit-transition: color .2s ease;   -moz-transition: color .2s ease;   -ms-transition: color .2s ease;   -o-transition: color .2s ease;   transition: color .2s ease; } #cssmenu ul ul li:hover > a, #cssmenu ul ul li a:hover {   color: #ffffff; } #cssmenu ul ul li.has-sub > a::after {   position: absolute;   top: 13px;   right: 10px;   width: 4px;   height: 4px;   border-bottom: 1px solid #dddddd;   border-right: 1px solid #dddddd;   content: "";   -webkit-transform: rotate(-45deg);   -moz-transform: rotate(-45deg);   -ms-transform: rotate(-45deg);   -o-transform: rotate(-45deg);   transform: rotate(-45deg);   -webkit-transition: border-color 0.2s ease;   -moz-transition: border-color 0.2s ease;   -ms-transition: border-color 0.2s ease;   -o-transition: border-color 0.2s ease;   transition: border-color 0.2s ease; } #cssmenu.align-right ul ul li.has-sub > a::after {   right: auto;   left: 10px;   border-bottom: 0;   border-right: 0;   border-top: 1px solid #dddddd;   border-left: 1px solid #dddddd; } #cssmenu ul ul li.has-sub:hover > a::after {   border-color: #ffffff; } @media , (max-width: 768px), screen , (-webkit-min-device-pixel-ratio: 2) , (max-width: 1024px), screen , (min--moz-device-pixel-ratio: 2) , (max-width: 1024px), screen , (-o-min-device-pixel-ratio: 2/1) , (max-width: 1024px), screen , (min-device-pixel-ratio: 2) , (max-width: 1024px), screen , (min-resolution: 192dpi) , (max-width: 1024px), screen , (min-resolution: 2dppx) , (max-width: 1024px) {   #cssmenu {     width: 100%;   }   #cssmenu ul {     width: 100%;     display: none;   }   #cssmenu.align-center > ul,   #cssmenu.align-right ul ul {     text-align: left;   }   #cssmenu ul li,   #cssmenu ul ul li,   #cssmenu ul li:hover > ul > li {     width: 100%;     height: auto;     border-top: 1px solid rgba(120, 120, 120, 0.15);   }   #cssmenu ul li a,   #cssmenu ul ul li {     width: 100%;   }   #cssmenu > ul > li,   #cssmenu.align-center > ul > li,   #cssmenu.align-right > ul > li {     float: none;     display: block;   }   #cssmenu ul ul li {     padding: 20px 20px 20px 30px;     font-size: 12px;     color: #000000;     background: none;   }   #cssmenu ul ul li:hover > a,   #cssmenu ul ul li a:hover {     color: #000000;   }   #cssmenu ul ul ul li {     padding-left: 40px;   }   #cssmenu ul ul,   #cssmenu ul ul ul {     position: relative;     left: 0;     right: auto;     width: 100%;     margin: 0;   }   #cssmenu > ul > li.has-sub > a::after,   #cssmenu ul ul li.has-sub > a::after {     display: none;   }   #menu-line {     display: none;   }   #cssmenu #menu-button {     display: block;     padding: 20px;     color: #000000;     cursor: pointer;     font-size: 12px;     text-transform: uppercase;   }   #cssmenu #menu-button::after {     content: '';     position: absolute;     top: 20px;     right: 20px;     display: block;     width: 15px;     height: 2px;     background: #000000;   }   #cssmenu #menu-button::before {     content: '';     position: absolute;     top: 25px;     right: 20px;     display: block;     width: 15px;     height: 3px;     border-top: 2px solid #000000;     border-bottom: 2px solid #000000;   }   #cssmenu .submenu-button {     position: absolute;     z-index: 10;     right: 0;     top: 0;     display: block;     border-left: 1px solid rgba(120, 120, 120, 0.15);     height: 52px;     width: 52px;     cursor: pointer;   }   #cssmenu .submenu-button::after {     content: '';     position: absolute;     top: 21px;     left: 26px;     display: block;     width: 1px;     height: 11px;     background: #000000;     z-index: 99;   }   #cssmenu .submenu-button::before {     content: '';     position: absolute;     left: 21px;     top: 26px;     display: block;     width: 11px;     height: 1px;     background: #000000;     z-index: 99;   }   #cssmenu .submenu-button.submenu-opened:after {     display: none;   } } 

you can use iselementvisible function check if element in viewport.

function iselementvisible(elementtobechecked) {     var topview = $(window).scrolltop();     var botview = topview + $(window).height();     var topelement = $(elementtobechecked).offset().top;     var botelement = topelement + $(elementtobechecked).height();     return ((botelement <= botview) && (topelement >= topview)); } 

you should check when window scrolled.

the complete code this:

function iselementvisible(elementtobechecked) {     var topview = $(window).scrolltop();     var botview = topview + $(window).height();     var topelement = $(elementtobechecked).offset().top;     var botelement = topelement + $(elementtobechecked).height();     return ((botelement <= botview) && (topelement >= topview)); }  $(window).scroll(function () {     var rules = iselementvisible("#rules");     var buy = iselementvisible("#buy");     var contact = iselementvisible("#contact");      if (rules) $("#cssmenu-holder").css("background", "red");     if (buy) $("#cssmenu-holder").css("background", "blue");     if (contact) $("#cssmenu-holder").css("background", "green");  }); 

Comments

Popular posts from this blog

How to provide Authorization & Authentication using Asp.net, C#? -

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

How to use Authorization & Authentication in Asp.net, C#? -