William Offied William Offied - 1 month ago 7
CSS Question

Set Style Value as Javascript Variable

I am attempting to create a page where text appears in random locations. For this, I need the left and top distances in a DIV containing text to be created randomly. The following HTML is a basic idea of what I am thinking about.

<body>
<script>
function myFunction() {
var leftvar = Math.round(Math.random()*1000);
var topvar = Math.round(Math.random()*1000);
}
window.onload = myFunction;
</script>
<div style="left:leftvar; top:topvar;">
<p>Test</p>
</div>
</body>


How can I put variables in the style CSS of a DIV?

Also, any other ways to have a randomly relocating DIV would be appreciated.

Answer

Get the element with javascript and change it's style properties :

<head>
    <style>#myDiv {position: relative;}</style>
</head>
<body>
    <script>
        function myFunction() {
            var leftvar = Math.random()*1000;
            var topvar = Math.random()*1000;

            var elem = document.getElementById('myDiv');

            elem.style.left = leftvar + 'px';
            elem.style.top  = topvar + 'px';            
        }
        window.onload = myFunction;
    </script>
    <div id="myDiv">
        <p>Test</p>
    </div>
</body>
Comments