我需要使用JavaScript制作有效标题的帮助

时间:2018-12-11 18:54:23

标签: javascript html css header

我正在为一个学校项目写博客,我的第一段已经写完了,所以我认为完成标头会很好,但是问题是我不知道如何。

我想要的是一个页眉,它将页眉中所有主题的边框更改为您在页面上的位置。就像当您单击开始或标题中的“ voorstellen”时一样,边框将围绕该主题。

如果您单击狮子徽标,有可能回到顶部(顶部的ID为“ voorstellen10”)。

body {
    /*geld voor alles */
    height: 100%;
    margin: 0;
    background: black;
}

.centered {
    /* maak tekst in het midden*/
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.header {
    /*balk boven aan gemaakt met w3schools en hulp van forums */
    background-color: transparent;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1;
    color: white;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 150px;
    padding: 5px 20px;
    margin-top: 30px;
}

.content {
    /* geen idee stond op w3schools */
    padding: 16px;
}

.sticky {
    /* voor de header*/
    position: fixed;
    top: 0;
    width: 100%;
}

.sticky + .content {
    /* voor de header */
    padding-top: 102px;
}

.logo {
    /* logo linksboven */
    Width: 150px;
    height: auto;
    filter: brightness(0) invert(1);
    float: left;
}

h1.startdereis {
    /* tekst met start de reis */
    color: white;
    text-transform: uppercase;
    font-size: 70px;
    text-align: center;
    margin-top: -80px;
    font-family: sans-serif;
}

.straatfoto {
    /* de straat met een donker filter */
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(https://i.ibb.co/WppGWkx/straat.jpg);
    height: 100vh;
    background-size: cover;
    background-position: center;
}

.knop {
    /* start knop */
    margin-top: 30px;
    margin-left: 550px;
}

.knop1 {
    /* start knop*/
    border: 3px solid white;
    padding: 10px 30px;
    color: white;
    text-decoration: none;
    margin-right: 5px;
    font-size: 13px;
    text-transform: uppercase;
    background-color: darkorange;
    font-family: "Roboto", sans-serif;
    margin-left: -300px;
}

.hoofd-nav {
    /* voor de header */
    float: right;
    list-style: none;
    margin-top: 30px;
    padding-right: 100px;
}

.hoofd-nav li {
    /* voor de header */
    display: inline-block;
}

.hoofd-nav li a {
    /* voor de header */
    color: white;
    text-decoration: none;
    padding: 5px 20px;
    font-family: "Roboto", sans-serif;
    font-size: 15px;
    border: 3px solid transparent;
}

.hoofd-nav li a.actief {
    /* maakt een vierkantje om de actieve onderwerp */
    border: 3px solid white;
}

.hoofd-nav li a:hover {
    /* maakt een blokje als je er overheen gaat */
    border: 3px solid white;
}

.voorstellen {
    max-width: 600px;
    font-size: 20px;
    color: white;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    font-family: sans-serif;
    padding-top: 20px;
}
<!DOCTYPE html>
<html>

<head>
    <title> Duco's Blog </title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<header>
    <div class="header" id="myHeader">
        <img class="logo" src="http://www.pngonly.com/wp-content/uploads/2017/06/Lion-Tattoo-Clipart-PNG-Image-03.png">
        <ul class="hoofd-nav">
            <li><a href="#voorpagina10" class="actief"> Home </a></li>
            <li><a href="#textjump"> Voorstellen </a></li>
            <li><a href=""> Hobby's </a></li>
            <li><a href=""> Toekomstdromen </a></li>
        </ul>
    </div>
    <script>
        window.onscroll = function() {
            myFunction()
        };

        var header = document.getElementById("myHeader");
        var sticky = header.offsetTop;

        function myFunction() {
            if (window.pageYOffset > sticky) {
                header.classList.add("sticky");
            } else {
                header.classList.remove("sticky");
            }
        }

    </script>
</header>

<body>
    <div class="container">
        <div class="straatfoto" id="voorpagina10"></div>
        <div class="centered">
            <h1 class="startdereis">Start De Reis</h1>
            <div class="knop">
                <a href="#textjump" class="knop1"> Start </a>
            </div>
        </div>
    </div>
    <div class="voorstellen" id="textjump">
        <h2>Wie ben ik?</h2>
        <p>Mijn volledige naam is Duco Gerard van de Schepop. Mijn tweede naam komt van mijn hele muzikale opa, die ik helaas nooit gekent heb. Op het moment dat ik werd geboren had ik geen opa's meer en nog maar een oma. Mijn enige oma die nog leefde woonde in Duitsland. We zochten haar meestal om de vakantie op. Voor mij was het meestal best saai want ik sprak toen ik klein was nog geen Duits, dus was het moeilijk om met mijn oma te praten en in een bejaardenhuis is nou eenmaal weinig te doen. Toen ik in de tweede klas wat Duits had geleerd en zover was om zelf een gesprek met mijn oma aan tegaan i.p.v dat mijn ouder het zouden vertalen stierf mijn rond die tijd jammer genoeg.
            <br><br>
            Het was misschien al een beetje duidelijk maar ik heb dus een familie die dus uit Duitsers en uit Nederlanders bestaat. Contact hebben met de Duitse kant van de familie is erg lastig omdat het best een stuk rijden is naar Duitsland. Als ik dus tijd doorbreng met famillie is het meestal met de famillie uit Nederland, wat ik eigenlijk niet heel erg vindt. Ik heb een hele leuke familie en daar ben ik erg blij mee.
            <br><br>
            Nu even genoeg over mijn opa's en oma's. Ik woon vijtien jaar in Soest met mijn vader, moeder en sinds dat ik drie werd ook een kleiner zusje. Er is niet echt iets bijzonders dat ik kan vertellen over mijn gezin, we zijn gewoon gewoontjes. Ikzelf zit op dit moment in de vierde klas op Het Baarnsch Lyceum. Mijn paket is NT en het gaat me wel goed af. De school vindt zelf dat ik het zo goed doe dat ik drie uur in de week niet meer hoef te komen. Heel bijzonder is het ook weer niet want die uren waren toch een soort van tussenuren. De bedoeling is dat je in deze uren, waar ik dus niet meer heen ga, huiswerk kan/moet maken dit doet alleen bijna niemand en iedereen zit eigenlijk gewoon te wachten totdat het saaie uur voorbij is.
            <br><br>
            Ik hoop dat ik nu genoeg over mezelf heb verteld en dat je nu al beter weet wie ik ben. Ik weet dat ik niet een heel spannend vaarhaal heb maarja, ik moet nou eenmaal een blog maken hè.
            <br><br>
        </p>               
    </div>

</body>

</html>

1 个答案:

答案 0 :(得分:1)

我已经满足了您的要求,但是我礼貌地问下一次,您应该始终亲自尝试一下,如果做不到,Google是您的朋友:)

最后,下面是代码:https://codepen.io/anon/pen/qLdVLO?editors=1100

它可以满足您的要求。

我附加了点击侦听器,以在单击按钮时添加边框,如下所示:

document.getElementById("but4").addEventListener("click", function() {
   document.getElementById("but1").classList.remove("actief");
   document.getElementById("but2").classList.remove("actief");
   document.getElementById("but3").classList.remove("actief");
   document.getElementById("but4").classList.add("actief");
});