0
<nav class="navbar navbar-default" style="...">
    <div class="container" id="main_container" style="margin-top: -80px">
        <div>
            <div class="row">
                <div class="col-xs-0 col-md-2" style="background-color: #f8f8f8;text-align: center;"><a href="http://cve.circl.lu/api/cve/{{ id6 }}" target="_blank">{{ id6 }}</a></div>
                <div class="col-xs-0 col-md-1" style="background-color: #f5f4f5;text-align: center;">{{ rating6 }}</div>
                <div class="col-xs-0 col-md-6" style="background-color: #F8F8F8"><marquee scrollamount="4">{{ description6 }}</marquee></div>
                <div class="col-xs-0 col-md-3" style="background-color: #f5f4f5;text-align: center;">{{ date6 }}</div>
            </div>
            <div class="row">
                <div class="col-xs-0 col-md-2" style="background-color: #f8f8f8;text-align: center;"><a href="http://cve.circl.lu/api/cve/{{ id7 }}" target="_blank">{{ id7 }}</a></div>
                <div class="col-xs-0 col-md-1" style="background-color: #f5f4f5;text-align: center;">{{ rating7 }}</div>
                <div class="col-xs-0 col-md-6" style="background-color: #F8F8F8"><marquee scrollamount="4">{{ description7 }}</marquee></div>
                <div class="col-xs-0 col-md-3" style="background-color: #f5f4f5;text-align: center;">{{ date7 }}</div>
            </div>
            <div class="row" style="margin-top: 5px">
                <div class="col-xs-0 col-md-5">
                </div>
                <div class="col-xs-0 col-md-2" align="center">
                    <button class="btn btn-xs btn-default" type="button" id="my_button">History</button>
                </div>
                <div class="col-xs-0 col-md-5"></div>
            </div>
            <div class="row" style="margin-top: 5px">
                <div class="col-xs-0 col-md-2" style="background-color: #f8f8f8;text-align: center;"><a href="http://cve.circl.lu/api/cve/{{ id8 }}" target="_blank">{{ id8 }}</a></div>
                <div class="col-xs-0 col-md-1" style="background-color: #f5f4f5;text-align: center;">{{ rating8 }}</div>
                <div class="col-xs-0 col-md-6" style="background-color: #F8F8F8"><marquee scrollamount="4">{{ description8 }}</marquee></div>
                <div class="col-xs-0 col-md-3" style="background-color: #f5f4f5;text-align: center;">{{ date8 }}</div>
            </div>
        </div>
    </div>
</nav>

I have a simple header HTML div structure with button id="my_button". On button event onclick the first div tag with id="main_container" should change css directives, in particular margin-top value from -80px to 0px and when margin-top value equals 0px it should be changed to -80px.

I'm new in web development. I guess I need a javascript script function with OnClick event handler.

6 Answers 6

2

use below function for change margin-top by using javascript

<script type="text/javascript">
$(function() {
    $('#my_button').click(function() {
         var margin = $('#main_container').css('margin-top');
         var newMargin = (margin=='-80px')?'0px':'-80px';
         $('#main_container').css('margin-top',newMargin);
    });
});
</script>
Sign up to request clarification or add additional context in comments.

Comments

0

-you should add the margin's into the div using style="margin:xxx%"

You can use this javascript code to make it change when the button is clicked:

function MoveDiv() {
    var e = document.getElementById("YOUR_DIV_id");
    if (e.style.marginTop == '-80px')
    {
        e.style.marginTop = "0px";
    }
    else 
    {
        e.style.marginTop = "-80px";
    }
}

Then you can simply call it with an OnClick function into a button, something like this: <button onClick="MoveDiv()">Click me</button>

Comments

0

Call a Javascript function on button click and validate the marginTop values.

HTML

  <button class="btn btn-xs btn-default" type="button" id="my_button" onclick="test()">History</button>

JS

  function test() {
    var marginValue = document.getElementById('main_container').style.marginTop;
    if(marginValue == "-80px") {
      document.getElementById('main_container').style.marginTop = "0px";
    } else {
      document.getElementById('main_container').style.marginTop = "-80px";
    }
   }

DEMO

Comments

0

var button = document.querySelector("#my_button");
var container = document.querySelector("#main_container");

button.addEventListener("click", function () {
  container.style.marginTop = "0px"
})
<nav class="navbar navbar-default" style="...">
    <div class="container" id="main_container" style="margin-top: -80px">
        <div>
            <div class="row">
                <div class="col-xs-0 col-md-2" style="background-color: #f8f8f8;text-align: center;"><a href="http://cve.circl.lu/api/cve/{{ id6 }}" target="_blank">{{ id6 }}</a></div>
                <div class="col-xs-0 col-md-1" style="background-color: #f5f4f5;text-align: center;">{{ rating6 }}</div>
                <div class="col-xs-0 col-md-6" style="background-color: #F8F8F8"><marquee scrollamount="4">{{ description6 }}</marquee></div>
                <div class="col-xs-0 col-md-3" style="background-color: #f5f4f5;text-align: center;">{{ date6 }}</div>
            </div>
            <div class="row">
                <div class="col-xs-0 col-md-2" style="background-color: #f8f8f8;text-align: center;"><a href="http://cve.circl.lu/api/cve/{{ id7 }}" target="_blank">{{ id7 }}</a></div>
                <div class="col-xs-0 col-md-1" style="background-color: #f5f4f5;text-align: center;">{{ rating7 }}</div>
                <div class="col-xs-0 col-md-6" style="background-color: #F8F8F8"><marquee scrollamount="4">{{ description7 }}</marquee></div>
                <div class="col-xs-0 col-md-3" style="background-color: #f5f4f5;text-align: center;">{{ date7 }}</div>
            </div>
            <div class="row" style="margin-top: 5px">
                <div class="col-xs-0 col-md-5">
                </div>
                <div class="col-xs-0 col-md-2" align="center">
                    <button class="btn btn-xs btn-default" type="button" id="my_button">History</button>
                </div>
                <div class="col-xs-0 col-md-5"></div>
            </div>
            <div class="row" style="margin-top: 5px">
                <div class="col-xs-0 col-md-2" style="background-color: #f8f8f8;text-align: center;"><a href="http://cve.circl.lu/api/cve/{{ id8 }}" target="_blank">{{ id8 }}</a></div>
                <div class="col-xs-0 col-md-1" style="background-color: #f5f4f5;text-align: center;">{{ rating8 }}</div>
                <div class="col-xs-0 col-md-6" style="background-color: #F8F8F8"><marquee scrollamount="4">{{ description8 }}</marquee></div>
                <div class="col-xs-0 col-md-3" style="background-color: #f5f4f5;text-align: center;">{{ date8 }}</div>
            </div>
        </div>
    </div>
</nav>

But I recommend to use transform for better perfomance. For example:

Before: transform: translateY(-80px). After: transform: translateY(0).

Comments

0

Please try following code, I removed your inline style and added css class:

<style>
#main_container { margin-top:0;}
#main_container.margin_top { margin-top:-80px;}
</style>

<nav class="navbar navbar-default" style="...">
<div class="container" id="main_container">
    <div>
        <div class="row">
            <div class="col-xs-0 col-md-2" style="background-color: #f8f8f8;text-align: center;"><a href="http://cve.circl.lu/api/cve/{{ id6 }}" target="_blank">{{ id6 }}</a></div>
            <div class="col-xs-0 col-md-1" style="background-color: #f5f4f5;text-align: center;">{{ rating6 }}</div>
            <div class="col-xs-0 col-md-6" style="background-color: #F8F8F8"><marquee scrollamount="4">{{ description6 }}</marquee></div>
            <div class="col-xs-0 col-md-3" style="background-color: #f5f4f5;text-align: center;">{{ date6 }}</div>
        </div>
        <div class="row">
            <div class="col-xs-0 col-md-2" style="background-color: #f8f8f8;text-align: center;"><a href="http://cve.circl.lu/api/cve/{{ id7 }}" target="_blank">{{ id7 }}</a></div>
            <div class="col-xs-0 col-md-1" style="background-color: #f5f4f5;text-align: center;">{{ rating7 }}</div>
            <div class="col-xs-0 col-md-6" style="background-color: #F8F8F8"><marquee scrollamount="4">{{ description7 }}</marquee></div>
            <div class="col-xs-0 col-md-3" style="background-color: #f5f4f5;text-align: center;">{{ date7 }}</div>
        </div>
        <div class="row" style="margin-top: 5px">
            <div class="col-xs-0 col-md-5">
            </div>
            <div class="col-xs-0 col-md-2" align="center">
                <button class="btn btn-xs btn-default" type="button" id="my_button">History</button>
            </div>
            <div class="col-xs-0 col-md-5"></div>
        </div>
        <div class="row" style="margin-top: 5px">
            <div class="col-xs-0 col-md-2" style="background-color: #f8f8f8;text-align: center;"><a href="http://cve.circl.lu/api/cve/{{ id8 }}" target="_blank">{{ id8 }}</a></div>
            <div class="col-xs-0 col-md-1" style="background-color: #f5f4f5;text-align: center;">{{ rating8 }}</div>
            <div class="col-xs-0 col-md-6" style="background-color: #F8F8F8"><marquee scrollamount="4">{{ description8 }}</marquee></div>
            <div class="col-xs-0 col-md-3" style="background-color: #f5f4f5;text-align: center;">{{ date8 }}</div>
        </div>
    </div>
</div>
</nav>

<script>
var button = document.getElementById('my_button');
var container = document.getElementById('main_container');
button.onclick = function(){
    container.classList.toggle("margin_top");
}
</script>

Comments

0
function changeMargin() {
   var button = document.getElementById("my_button");
   var container = document.getElementById("main_container");

   button.addEventListener("click", function () {
         if (container.style.marginTop == '-80px') {
            container.style.marginTop = "0px";
         } else 
         {
            container.style.marginTop = "-80px";
         }
   });
}
 
window.addEventListener('load', function () {
   changeMargin();
});

1 Comment

As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.