• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1447
  • Last Modified:

Changing frame size

I have HTML page with 2 frames. The problem I have is that I want to
change the size (width) of frames when user clicks on something (link)
in one of the frames. In the begining both frames have the same width,
but after user click I want one frame to shrink and the other to grow.
Is that possible in javaScript? If not, how could i do something like this?
0
marko020397
Asked:
marko020397
  • 4
  • 3
1 Solution
 
julio011597Commented:
No, you cannot do it.

The simplest way to achieve that effect is make your link refer to another container with the new needed frames.

Cheers.

0
 
marko020397Author Commented:
I have tried this, but then the contents of frames change. Is it possible to look in both frames save contents (URLs) of frames and open new frameset with this contents?
0
 
julio011597Commented:
This can be done with the methods of the document object.

Would you like a way to go, or do you need full code?
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
marko020397Author Commented:
Give me just the way to do it. I will write it myself.
0
 
superquestionsCommented:
Just quit, Marko... if there is really a way to do that, then your page will probably have a lot of imcompatibility problems with browsers v3.0 or less. Well... I can just suggest you to quit with your idea.
0
 
julio011597Commented:
Acually, superquestion is not wrong; any JavaScript way to accomplish the job would work great on some browser and give problems on others.

Anyway, if versions are not a concern, here is a general scheme of what i meant:

you could have a container page looking something like this:

--//--
<HTML>
  <HEAD>
    <SCRIPT LANGUAGE="JavaScript"><!--
      function updateFrames() {
        with(self.document) {
          open();
          writeln("<HTML>");
          writeln("  <FRAMESET ROWS=\"10,*\">");
          writeln("    <FRAME SRC=\"Left.htm\">");
          writeln("    <FRAME SRC=\"Right.htm\">");
          writeln("  </FRAMESET>");
          writeln("</HTML>");
          close();
        }
      }
    // --></SCRIPT>
  </HEAD>
  <FRAMESET ROWS="*,*">
    <FRAME SRC="Left.htm">
    <FRAME SRC="Right.htm">
  </FRAMESET>
</HTML>
--//--

And, in your - say - Left.htm there could be the needed link, looking like:

<A HREF="javascript:void(top.updateFrames())">Update Frame</A>

This a no-return script, i.e. you will update your frames once; but it could be easily modified to handle more complex cases.

Regards.

P.S. About points: if what i have written is of any use to you, i hope you'll award me a few points anyway... (BTW, there are ways to share points among experts too, by asking EE support)
0
 
marko020397Author Commented:
Adjusted points to 500
0
 
marko020397Author Commented:
Sorry, Julio. I though I was grading your answer and giving 500 points. I didn't notice that you were giving a comment. Now I rewarded "superquestions" for suggestion to quit, which doesn't deserve 500 points.

Now. How should I give you points? I didn't quite understand what you were thinking.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now