5

I would like to change my navigation from the transparent background to a white background. The navigation should decrease in size and the logo should disappear.

It should look exactly like on this page: https://www.praxis-loeber.de

I have already written jquery code for it but unfortunately it still doesn't work.

I would be very happy if someone could show me where the error lies in my code.

Here is my code:

$(window).scroll(function() {
  var scroll = $(window).scrollTop();
  if (scroll > 10) {
    $(".navigation").addClass("transparent");
    $(".hr").hide();
    $(".header-logo-container").hide();
    $("a").css("color", "black");
  } else {
    $(".navigation").removeClass("transparent");
    $(".hr").show();
    $(".header-logo-container").show();
    $("a").css("color", "white")
  }
});
.header {
  height: 820px;
  background-image: url("../img/beispiel.png");
  background-size: cover;
}

.header-unterseite {
  height: 500px;
  background-image: url("../img/beispiel.png");
  background-size: cover;
}

.navigation {
  position: sticky;
  top: 0px;
}

.navigation.transparent {
  background-color: white;
}

.header-logo-container {
  text-align: center;
  @media(max-width: 950px) {
    display: none;
  }
}

.header-logo {
  width: 11%;
  margin-top: 20px;
}

.header-navbar-links {
  float: left;
  font-family: 'Open Sans', bold;
  margin-top: -50px;
  font-size: 100%;
  margin-left: 150px;
  @media(max-width: 950px) {
    display: none;
  }
}

.header-navbar-links li {
  float: right;
  list-style-type: none;
  margin-right: 26px;
}

.header-navbar-links a {
  text-decoration: none;
  color: rgb(255, 255, 255);
}

.header-navbar-links a:hover {
  color: #88c602;
}

.header-navbar-rechts {
  color: white;
  float: right;
  margin-top: -50px;
  font-family: 'Open Sans', bold;
  font-size: 100%;
  margin-right: 150px;
  @media(max-width: 950px) {
    display: none;
  }
}

.header-navbar-rechts li {
  float: left;
  list-style-type: none;
  margin-right: 26px;
}

.header-navbar-rechts a {
  text-decoration: none;
  color: rgb(255, 255, 255);
}

.header-navbar-rechts a:hover {
  color: #88c602;
}

.footer-hr {
  color: rgb(255, 255, 255);
  width: 100%;
  height: 5px;
  @media(max-width: 950px) {
    display: none;
  }
}

.slogan {
  color: rgb(255, 255, 255);
  text-align: center;
  font-family: 'Ubuntu', regular;
  font-size: 450%;
  margin-top: 84px;
  -webkit-animation: fadein 2s;
  /* Safari, Chrome and Opera > 12.1 */
  -moz-animation: fadein 2s;
  /* Firefox < 16 */
  -ms-animation: fadein 2s;
  /* Internet Explorer */
  -o-animation: fadein 2s;
  /* Opera < 12.1 */
  animation: fadein 2s;
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.description {
  background-color: #88c602;
  text-align: center;
  color: rgb(255, 255, 255);
  font-family: 'Ubuntu', regular italic;
  font-size: 200%;
  padding-top: 27px;
  padding-bottom: 27px;
}

.description-title {
  font-size: 180%;
  margin-top: -15px;
}

#side-menu-trigger {
  float: right;
  color: rgb(255, 255, 255);
  margin-top: 35px;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-right: 25px;
  padding-left: 25px;
  font-size: 200%;
  height: inherit;
  @media(min-width: 950px) {
    display: none;
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="side-menu" style="display: none;">
  <h3>Navigation</h3>
  <ul class="side-menu-navigation">
    <?php require (__DIR__ . "/navigation-   links.php"); ?>
    <?php require (__DIR__ . "/navigation-rechts.php") ?>
  </ul>
</div>
<header class="header">
  <div class="navigation">
    <div class="header-logo-container">
      <a href="index.php"><img src="img/Logo_Petra.png" class="header-logo" alt="Logo"></a>
    </div>
    <nav class="header-navbar">
      <ul class="header-navbar-links">
        <?php require (__DIR__ . "/navigation-links.php"); ?>
      </ul>
      <ul class="header-navbar-rechts">
        <?php require (__DIR__ . "/navigation-rechts.php"); ?>
      </ul>
      <button id="side-menu-trigger">
        <i class="fa fa-bars" aria-hidden="true"></i>
      </button>
    </nav>
    <div class="hr">
      <hr class="footer-hr" />
    </div>
  </div>
  <div class="container" onload="document.getElementById(slogan).style.opacity='1'">
    <div class="slogan">
      Herzlich Willkommen in der<br> Praxis für Sprachtherapie<br> Petra Daase-Beck
    </div>
  </div>
</header>
<div class="description">
  <div class="description-title"><strong>Wortstark</strong></div>
  in Sprache und Schrift für Kinder - Jugendliche<br> und Erwachsene
</div>
Alessio Cantarella
  • 5,077
  • 3
  • 27
  • 34
Mr.Mo
  • 51
  • 2

3 Answers3

4

Here is the code. All code works proper. Just few changes in css. Hope you need this header.If any changes please let me know.

https://jsfiddle.net/fovbwhx1/8/

$(window).scroll(function() {
  
  var scroll = $(window).scrollTop();

  if (scroll > 10)  {
    $(".navigation").addClass("transparent");
    $(".hr").hide();
    $(".header-logo-container").hide();
    $("a").css("color", "black");

  }

  else {
    $(".navigation").removeClass("transparent");
    $(".hr").show();
    $(".header-logo-container").show();
    $("a").css("color","white")
  }

});
*{
  padding:0;
  margin:0;
}
.container{
  margin-top:150px;
}
.header {
  height: 820px;
  background-image: url("https://dummyimage.com/800x800/ff00ff/fff.png");
  background-size: cover;
}
.header-unterseite {
  height: 500px;
  background-image: url("../img/beispiel.png");
  background-size: cover;
}
.navigation {
  position: fixed;
  top: 0px;
  width:100%;
}
.navigation.transparent {
  background-color: red;
}
.header-logo-container {
  text-align: center;

}
.header-logo {
  width: 11%;
  margin-top: 20px;
}
.header-navbar-links {
  float: left;
  font-family: 'Open Sans', bold;
  margin-top: -50px;
  font-size: 100%;
  margin-left: 150px;
}
.header-navbar-links li {
  float: right;
  list-style-type: none;
  margin-right: 26px;
}
.header-navbar-links a {
  text-decoration: none;
  color: rgb(255, 255, 255);
}
.header-navbar-links a:hover {
  color: #88c602;
}
.header-navbar-rechts {
  color: white;
  float: right;
  margin-top: -50px;
  font-family: 'Open Sans', bold;
  font-size: 100%;
  margin-right: 150px;

}
.header-navbar-rechts li {
  float: left;
  list-style-type: none;
  margin-right: 26px;
}
.header-navbar-rechts a {
  text-decoration: none;
  color: rgb(255, 255, 255);
}
.header-navbar-rechts a:hover {
  color: #88c602;
}
.footer-hr {
  color: rgb(255, 255, 255);
  width: 100%;
  height: 5px;
}
.slogan {
  color: rgb(255, 255, 255);
  text-align: center;
  font-family: 'Ubuntu', regular;
  font-size: 450%;
  margin-top: 110px;
  -webkit-animation: fadein 2s;
  /* Safari, Chrome and Opera > 12.1 */
  -moz-animation: fadein 2s;
  /* Firefox < 16 */
  -ms-animation: fadein 2s;
  /* Internet Explorer */
  -o-animation: fadein 2s;
  /* Opera < 12.1 */
  animation: fadein 2s;
}
@keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.description {
  background-color: #88c602;
  text-align: center;
  color: rgb(255, 255, 255);
  font-family: 'Ubuntu', regular italic;
  font-size: 200%;
  padding-top: 27px;
  padding-bottom: 27px;
}
.description-title {
  font-size: 180%;
  margin-top: -15px;
}
#side-menu-trigger {
  float: right;
  color: rgb(255, 255, 255);
  margin-top: 35px;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-right: 25px;
  padding-left: 25px;
  font-size: 200%;
  height: inherit;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="side-menu" style="display: none;">
  <h3>Navigation</h3>
  <ul class="side-menu-navigation">
    <?php require (__DIR__ . "/navigation-   links.php"); ?>
    <?php require (__DIR__ . "/navigation-rechts.php") ?>
  </ul>
</div>

<header class="header">
  <div class="navigation">
    <div class="header-logo-container">
      <a href="index.php"><img src="https://dummyimage.com/200x100/000/fff.png" class="header-logo" alt="Logo"></a>
    </div>
    <nav class="header-navbar">
      <ul class="header-navbar-links">
        <?php require (__DIR__ . "/navigation-links.php"); ?>
      </ul>
      <ul class="header-navbar-rechts">
        <?php require (__DIR__ . "/navigation-rechts.php"); ?>
      </ul>
      <button id="side-menu-trigger">
        <i class="fa fa-bars" aria-hidden="true"></i>
      </button>
    </nav>
    <div class="hr">
      <hr class="footer-hr" />
    </div>
  </div>
  <div class="container" onload="document.getElementById(slogan).style.opacity='1'">
    <div class="slogan">
      Herzlich Willkommen in der<br>
      Praxis für Sprachtherapie<br>
      Petra Daase-Beck
    </div>
  </div>
</header>
<div class="description">
  <div class="description-title"><strong>Wortstark</strong></div>
  in Sprache und Schrift für Kinder - Jugendliche<br>
  und Erwachsene
</div>
Revti Shah
  • 642
  • 1
  • 5
  • 16
1

Edit: I made exactly what you're looking for; transition from transparent header to white.

Maybe this will help you, just a bit of css and simple js

<div id="header">Header</div>
<div style="margin-top:200px;padding:15px 15px 2500px;font-size:30px">
  <p><b>The Lorem Ipsum.</b></p>
  <p>Scroll down this frame to see the effect!</p>
  <p>Scroll to the top to remove the effect.</p>
  <p>What is Lorem Ipsum?
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
</p>
</div>

The CSS:

    body{
  background-color: grey;
}
#header {
  background-color: transparent;
  padding: 50px 10px; /* Some padding */
  color: black;
  text-align: center; /* Centered text */
  font-size: 90px; /* Big font size */
  font-weight: bold;
  position: fixed; /* Fixed position - sit on top of the page */
  top: 0;
  width: 100%; /* Full width */
  transition: 0.2s; /* Add a transition effect (when scrolling - and font size is decreased) */
}

And the js

window.onscroll = function() {scrollFunction()};

function scrollFunction() {
  if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) {
    document.getElementById("header").style.fontSize = "30px";
    document.getElementById("header").style.backgroundColor="white";
  } else {
    document.getElementById("header").style.fontSize = "90px";
    document.getElementById("header").style.backgroundColor="transparent";
  }
}

Heres the example: https://jsfiddle.net/rick95/vpt173az/5/

RickJo
  • 86
  • 1
  • 8
  • Thanks for your answer. My code looks almost exactly like your suggestion. I posted my code below, because in my Project it's not working. Maybe you have an idea why it doesn't work?! – Mr.Mo Dec 13 '19 at 08:57
  • I'm not really sure how do you want it to look exactly but at first sight, I see that the font color is white, the main reason why it doesn't display. Second, If you want your header to sit on top of the page, you'll need to change its position to fixed. This is not the best recommendation but I'd rather put .style instead of addClass and removeClass so you can directly put whatever you want in your script depending on your div's position, etc. – RickJo Dec 13 '19 at 13:40
0

@RevtiShah

My Code look like this:

*{
    padding:0;
    margin:0;
  }
  
  .header {
    height: 820px;
    background-image: url("https://dummyimage.com/800x800/ff00ff/fff.png");
    background-size: cover;
  }
  
  .header-unterseite {
    height: 500px;
    background-image: url("../img/beispiel.png");
    background-size: cover;
  }
  
  .navigation {
    position: fixed;
    top: 0px;
    width:100%;
  }
  
  .navigation.transparent {
    background-color: red;
  }
  
  .header-logo-container {
    text-align: center;
  
    @media(max-width: 950px) {
      display: none;
    }
  }
  
  .header-logo {
    width: 11%;
    margin-top: 20px;
  }
  
  .header-navbar-links {
    float: left;
    font-family: 'Open Sans', bold;
    margin-top: -50px;
    font-size: 100%;
    margin-left: 150px;
  
    @media(max-width: 950px) {
      display: none;
    }
  }
  
  .header-navbar-links li {
    float: right;
    list-style-type: none;
    margin-right: 26px;
  }
  
  .header-navbar-links a {
    text-decoration: none;
    color: rgb(255, 255, 255);
  }
  
  .header-navbar-links a:hover {
    color: #88c602;
  }
  
  .header-navbar-rechts {
    color: white;
    float: right;
    margin-top: -50px;
    font-family: 'Open Sans', bold;
    font-size: 100%;
    margin-right: 150px;
  
    @media(max-width: 950px) {
      display: none;
    }
  }
  
  .header-navbar-rechts li {
    float: left;
    list-style-type: none;
    margin-right: 26px;
  }
  
  .header-navbar-rechts a {
    text-decoration: none;
    color: rgb(255, 255, 255);
  }
  
  .header-navbar-rechts a:hover {
    color: #88c602;
  }
  
  .footer-hr {
    color: rgb(255, 255, 255);
    width: 100%;
    height: 5px;
  
    @media(max-width: 950px) {
      display: none;
    }
  }
  
  .slogan {
    color: rgb(255, 255, 255);
    text-align: center;
    font-family: 'Ubuntu', regular;
    font-size: 450%;
    margin-top: 110px;
  
    -webkit-animation: fadein 2s;
    /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 2s;
    /* Firefox < 16 */
    -ms-animation: fadein 2s;
    /* Internet Explorer */
    -o-animation: fadein 2s;
    /* Opera < 12.1 */
    animation: fadein 2s;
  }
  
  @keyframes fadein {
    from {
      opacity: 0;
    }
  
    to {
      opacity: 1;
    }
  }
  
  .description {
    background-color: #88c602;
    text-align: center;
    color: rgb(255, 255, 255);
    font-family: 'Ubuntu', regular italic;
    font-size: 200%;
    padding-top: 27px;
    padding-bottom: 27px;
  }
  
  .description-title {
    font-size: 180%;
    margin-top: -15px;
  }
  
  #side-menu-trigger {
    float: right;
    color: rgb(255, 255, 255);
    margin-top: 35px;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 25px;
    padding-left: 25px;
    font-size: 200%;
    height: inherit;
  
    @media(min-width: 950px) {
      display: none;
    }
  }
    
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="side-menu" style="display: none;">
            <h3>Navigation</h3>
            <ul class="side-menu-navigation">
                    <?php require (__DIR__ . "/navigation-links.php"); ?>
                    <?php require (__DIR__ . "/navigation-rechts.php") ?>
                </ul>
            </div>

<header class="header">
   <div class="navigation">
           <div class="header-logo-container">
           <a href="index.php"><img src="img/Logo_Petra.png" class="header-logo" alt="Logo"></a>
          </div>
        <nav class="header-navbar">
             <ul class="header-navbar-links">
              <?php require (__DIR__ . "/navigation-links.php"); ?>
             </ul>
             <ul class="header-navbar-rechts">
             <?php require (__DIR__ . "/navigation-rechts.php"); ?>
            </ul>
            <button id="side-menu-trigger">
                <i class="fa fa-bars" aria-hidden="true"></i>
            </button>
        </nav>
   <div class="hr">
      <hr class="footer-hr" />
   </div>
</div>
<div class="container" onload="document.getElementById(slogan).style.opacity='1'">
   <div class="slogan">
       Herzlich Willkommen in der<br>
       Praxis für Sprachtherapie<br>
       Petra Daase-Beck
    </div> 
</div>
</header>
    <div class="description">
       <div class="description-title"><strong>Wortstark</strong></div>
       in Sprache und Schrift für Kinder - Jugendliche<br>
       und Erwachsene
     </div>


<script type="text/javascript">

$(window).scroll(function() {
    var scroll = $(window).scrollTop();

       if (scroll > 10)  {
            $(".navigation").addClass("transparent");
            $(".hr").hide();
            $(".header-logo-container").hide();
            $("a").css("color", "black");
        
        } else {
            $(".navigation").removeClass("transparent");
            $(".hr").show();
            $(".header-logo-container").show();
            $("a").css("color","white")
        }
});

</script>

When I open the page it look like this here:

I don't know if that's it but I still use skeleton as framework and scss. Maybe here is a default value that will ruin the navigation.

Mr.Mo
  • 51
  • 2