简体   繁体   中英

Select an option to change a page's background color

I want to select an option in order to change the background color of a page using JavaScript.

This is what I've tried:

<html>
<head>
    <script>
        function colorFunction()
        {
        document.bgcolor="this.option[this.selectedIndex]";
        }
    </script>
</head>
<body>
    <form name="bgcolor form">try it now: 
        <select onchanage="colorFunction">

            <option value="choose">Set Background color
            <option value="FFOOOO">Dark Red
            <option value="OOFFOO">Dark Green
            <option value="OOOOFF">Dark Blue
            <option value="OOOOOO">Black
        </select>
    </form>
</body>
</html>

However, my code doesn't work (and I don't know what the errors are).

Simply do it by using jquery.

 <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script> $(document).ready(function() { $("#dropdown").change(function() { var color = $("#dropdown").val(); // alert(color); $("body").css("background-color", color); }); }); </script> </head> <body> <form name="bgcolor form">try it now: <select id="dropdown"> <option value="#fff">Set Background color <option value="#ff0000">Dark Red <option value="#006600">Dark Green <option value="#0000ff">Dark Blue <option value="#000000">Black </select> </form> </body> </html>

 <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script> $(document).ready(function() { $("#dropdown").change(function() { var color = $("#dropdown").val(); // alert(color); $("body").css("background-color", color); }); }); </script> </head> <body> <form name="bgcolor form">try it now: <select id="dropdown"> <option value="#fff">Set Background color <option value="#ff0000">Dark Red <option value="#006600">Dark Green <option value="#0000ff">Dark Blue <option value="#000000">Black </select> </form> </body> </html>

I think,this is what you want.

 <html> <head> <script> function colorFunction(color) { document.body.style.backgroundColor = color; } </script> </head> <body> <form name="bgcolor form">try it now: <select onchange="colorFunction(this.value)"> <option value="#fff">Set Background color <option value="#ff0000">Dark Red <option value="#006600">Dark Green <option value="#0000ff">Dark Blue <option value="#000000">Black </select> </form> </body> </html>

Here i have modified your code ,please check it. I have done it in the way you want to get result.

 <html> <head> <script> function colorFunction() { var color = document.getElementById("thedropdown"); document.body.style.backgroundColor = color.options[color.selectedIndex].value; } </script> </head> <body> <form name="bgcolor form">try it now: <select id="thedropdown" onchange="colorFunction()"> <option value="#fff">Set Background color <option value="#ff0000">Dark Red <option value="#006600">Dark Green <option value="#0000ff">Dark Blue <option value="#000000">Black </select> </form> </body> </html>

You have a typo. It should be:

<select onchange="colorFunction">

Here's my solution:

 function colorFunction(e) { if(e.selectedIndex!=0) { document.bgColor = e.options[e.selectedIndex].value } }
 <form name="bgcolor form">Try it now: <select onChange="colorFunction(this)"> <option value="choose">set background color <option value="FFFFCC">light yellow <option value="CCFFFF">light blue <option value="CCFFCC">light green <option value="CCCCCC">gray <option value="FFFFFF">white </select> </form>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM