Reputation: 93
<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.
Upvotes: 0
Views: 1068
Reputation: 1
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();
});
Upvotes: 0
Reputation: 3797
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>
Upvotes: 0
Reputation: 407
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)
.
Upvotes: 0
Reputation: 425
-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>
Upvotes: 0
Reputation: 2887
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>
Upvotes: 2
Reputation: 13988
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";
}
}
Upvotes: 0