www.webdeveloper.com
Results 1 to 4 of 4

Thread: Javascript 2 dimensional array populates CSS button background-color

  1. #1
    Join Date
    Jul 2010
    Posts
    25

    Angry Javascript 2 dimensional array populates CSS button background-color

    I'm creating something similar to the paint box that you get in paint for a website with similar functionality. double click on a specific color and it gives you various shades. the various shades along with the alt tags are displayed in another div with z-index 1./ The way I setout to do this is using a 2 dimensional array to store the color hex and alt values but I'm lost as to how I can populate the button's background color from the array and whether to use javascript, JQuery, or JSON. Markup follows:

    CSS Style

    <style type="text/css">
    #colorShadesContainer{height:518px; width:95px; border:1px solid #D8D8D8;}
    #colorShades{margin-left:2px; margin-top:2px; height:512px; width:89px; position:relative; border:1px solid #D8D8D8;}
    #shadeblockOne{margin-left:1.5px; margin-top:2px; position:absolute; height:15px; width:85px;}
    input.shadeOne{height:15px; width:85px;}
    </style>

    HTML

    <div id="colorShadesContainer">
    <div id="colorShades">
    <div id="shadeblockOne"><input type="button" class="shadeOne" value="" title="" /></div>

    JavaScript

    var RedTonesHtmlHex = new Array(30)
    for (r=0; r < 30; r++)
    RedTonesHtmlHex[r] = new Array(2)

    RedTonesHtmlHex[0] = new Array(2)
    RedTonesHtmlHex[0][0] = "#080000"
    RedTonesHtmlHex[0][1] = "lightRed"

    I just want to know how to populate these value into the button background colors. Any solutions, ideas, or samples much appreciated

  2. #2
    Join Date
    May 2006
    Location
    Somewhere behind your screen
    Posts
    1,671
    is this what you want?

    Code:
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>...</title>
    <head>
    <style type="text/css">
    #colorShadesContainer{height:518px; width:95px; border:1px solid #D8D8D8;}
    #colorShades{margin-left:2px; margin-top:2px; height:512px; width:89px; position:relative; border:1px solid #D8D8D8;}
    #shadeblockOne{margin-left:1.5px; margin-top:2px; position:absolute; height:15px; width:85px;}
    input.shadeOne{height:15px; width:85px;}
    </style>
    </head>
    <body>
    <div id="colorShadesContainer">
    <div id="colorShades">
    <div id="shadeblockOne"><input type="button" class="shadeOne" value="" title="" /></div>
    </div>
    </div>
    <a href="#null" onclick="passToTheButton(0)">lightRed</a>
    <br /><br />
    <a href="#null" onclick="passToTheButton(1)">deadlyRed</a>
    <script type="text/javascript">
    var RedTonesHtmlHex=[
    ['lightRed','#ff0000'],
    ['deadlyRed','#cd141a']
    // etc.
    ];
    
    function passToTheButton(n){
    var theButton=document.getElementById('shadeblockOne').getElementsByTagName('input')[0];
    theButton.style.backgroundColor=RedTonesHtmlHex[n][1];
    theButton.value=RedTonesHtmlHex[n][0];
    }
    </script>
    </body>
    </html>

  3. #3
    Join Date
    Jul 2010
    Posts
    25
    yup this is what i was trying to do but whereas you have array values of lightRed and deadlyRed populating within the button itself, I was tryin to get place it in the following way alt="Light Red" and "Deadly Red" I'm not too sure about as an alt value but one idea was to create a variable called alt

    Thank You

  4. #4
    Join Date
    May 2006
    Location
    Somewhere behind your screen
    Posts
    1,671
    alt is for images - this is a short description for a user to see in case images are off

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles