2

I'm sorry if this is a really stupid question, I'm a little new to JavaScript. I am trying to make a webpage containing multiple functions, but only the first of the functions will be successful. I searched on google and I only got results for calling multiple functions at once, but that is not what I am looking for. Here is an example of what I am trying to do:

<html>
    <head>
        <script type="text/javascript">
            function frogger()
            {
                document.getElementById("descriptions").innerHTML="Frogger <br />Description: Get
                    the frog to the islands at the top of the screen without falling into the water or
                    getting hit by cars. <br />Controls: Up arrow key to move forward, down arrow key to
                    move backward, left arrow key to move left, and right arrow key to move right.";
            }
            function clear()
            {
                document.getElementById("descriptions").innerHTML=" ";
            }
        </script>
    </head>
    <body>
        <div id="descriptions" style="{height:100;}">
        </div>
        <div class="game" onmouseover="frogger()" onmouseout="clear()">
            <a href="/arcade/frogger.html"><img border="0" src="http://ggmedia.site50.net
/pics/frogger.PNG" height="100" width="100" /><br />Frogger</a>
        </div>
    </body>
</html>

Thanks for helping!

5
  • 3
    You can't put linebreaks in strings like that. Commented Jun 3, 2012 at 1:07
  • 1
    Check your JS console to see the error. Commented Jun 3, 2012 at 1:08
  • 1
    You're using the style attribute incorrectly. Instead of style="{height:100;}" do style="height:100;" Commented Jun 3, 2012 at 1:11
  • 1
    also specify the units, 100%? 100px? Commented Jun 3, 2012 at 1:12
  • 3
    Another option would be to hide/show content rather than continually regenerate it. Commented Jun 3, 2012 at 1:14

5 Answers 5

6

There is already a function named clear in the document object. Name your function something else.

Sign up to request clarification or add additional context in comments.

Comments

2

Your string has line breaks, you can remove them or add a \ to the end of each line

function frogger()
{
    document.getElementById("descriptions").innerHTML="Frogger <br />Description: Get\
the frog to the islands at the top of the screen without falling into the water or\
getting hit by cars. <br />Controls: Up arrow key to move forward, down arrow key to\
move backward, left arrow key to move left, and right arrow key to move right.";
}

​ Edit: If you change the name of the clear function to say clearx it works, weird.

Edit: Apparently there is a clear method in the document object

1 Comment

by adding ``what will happen, will the above sentence will be turn into a single sentence?
2
function frogger() {
    document.getElementById("descriptions").innerHTML="Frogger <br />Description: Get the frog to the islands at the top of the screen without falling into the water or getting hit by cars. <br />Controls: Up arrow key to move forward, down arrow key to move backward, left arrow key to move left, and right arrow key to move right.";
}

4 Comments

Well, I'd actually prefer to see line continuations or concats than a long-ass string, really.
@sachleen I've never seen the backward slash method for strings like that. Thanks. Does that method have a name?
I'll +1 anyway because strings with 5000+ characters per line are for the lords only to read.
@AndrewAnthonyGerst Line continuations.
0

Rename the clear() function to something else. I changed it to clearDesc() and it worked fine (after fixing the line break issue in the string). See here.

Comments

0
  <div class="game" onmouseover="frogger()" onmouseout="clearr()">mousee</div>
    <div id="descriptions"></div>
    <script type="text/javascript">
        var frogger = function () {
            this.innerHTML = ["Frogger <br />Description: Get}",
                    "the frog to the islands at the top of the screen without falling into the water or",
                    "getting hit by cars. <br />Controls: Up arrow key to move forward, down arrow key to",
                    "move backward, left arrow key to move left, and right arrow key to move right."].join('');
        }.bind(document.getElementById("descriptions"));
        //
        var clearr = function () {
            this.innerHTML = " ";
        }.bind(document.getElementById("descriptions"));

    </script>

Here is this code in a jsfiddle.net

http://jsfiddle.net/gerst20051/6Neqv/

Comments

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.