注册 登录
编程论坛 JavaScript论坛

如何用其他方法实现框架网页的效果

zklhp 发布于 2008-11-23 09:35, 6183 次点击
偶不懂网页设计 想请教各位

不用框架的话 怎么实现框架的效果呢 就是左边点开的链接在右边显示

好像可以用js 那该怎么操作呢

知道的朋友说一下 谢谢了

[[it] 本帖最后由 zklhp 于 2008-12-6 17:28 编辑 [/it]]
45 回复
#2
kai2008-11-24 08:45
不太明白你的意思。

网页可以有静态和动态两种,如果你想实现点击左边连接,然后在右边区域显示,那么这个属于动态网页。动态网页需要用动态语言来实现,比如php

你看看这个:http://www.
这个就是右边的显示由左边的处理来决定的。
#3
知道不知道2008-11-24 08:49
可以用ajax,不过用ajax来实现不管是用户体验还是对系统资源的消耗都比框架垃圾的多。
网页设计遵循“该用什么就用什么”原理,框架、超链接、table这些东西并不过时
#4
zklhp2008-11-24 12:30
谢谢各位了

这是我们老师让我们做个人主页 说如果不用框架而实现框架网页的效果可以加分 就想问下该怎么办

我想的是用 <div>  </div>  在用js把网页内容放进去 不过好像不太现实 是吗?
#5
zklhp2008-11-24 12:31
以下是引用知道不知道在2008-11-24 08:49的发言:

可以用ajax,不过用ajax来实现不管是用户体验还是对系统资源的消耗都比框架垃圾的多。
网页设计遵循“该用什么就用什么”原理,框架、超链接、table这些东西并不过时


您说的太好了 看来偶就用框架吧~~~
#6
zklhp2008-11-24 12:36
以下是引用kai在2008-11-24 08:45的发言:

不太明白你的意思。

网页可以有静态和动态两种,如果你想实现点击左边连接,然后在右边区域显示,那么这个属于动态网页。动态网页需要用动态语言来实现,比如php

你看看这个:http://www. ...


框架不算是动态的吧 我如果想用简单的脚本 比如 js 实现一下这个效果该怎么做呢?

我的表述不太清楚 意思大概就这样 就是做出来像框架网页那样  点左边右边显示相应的内容
#7
kai2008-11-24 13:43
就框架本身而言与动态静态是无关的。

你的老师说什么不用框架可以加分,是在瞎说八说。任何网页都是有框架的。

框架有两种实现方式:
一种是通过table来实现,这种方式有其缺陷,那就是没有很好的维护性,所有的改动都要到具体页面去改动,这样的工作量是很大的。
还有一种实现方式,那就是div + css , 这样实现方式对于维护很友好,这样的实现方式也使得内容和布局分离。也就是说html 描述的只是内容,具体的布局由css 来实现。

但是不管哪种方式,都是框架布局方式。没有框架的网页是不存在的。

至于你所说的点击左边,在右边显示,这就是动态了。动态可以是通过服务器端动态来实现,具体就要用到动态语言,比如php. 动态也可以通过客户端动态语言来实现,比如javascript, 至于用哪一种也是有其选择的依据的,如果你希望你的技术不被窃取,那么你可以选者服务器端动态,也就是选择比如php, 这样你看到的只是产生的结果文件,即html 文件,而原文件php文件对浏览者是不可见的。另外客户是可以关闭javascript 的,这样的话,javascript 的效果就会失效。但是,javascript 由于是客户端动态,那么它产生的效果会比较快一些。此外,javascript 在一定意义上来讲是不可替代的,比如某些navi 的效果绝对不会用php 来实现,而只能是javascript 实现的。
#8
zklhp2008-11-24 19:59
以下是引用kai在2008-11-24 13:43的发言:

就框架本身而言与动态静态是无关的。

你的老师说什么不用框架可以加分,是在瞎说八说。任何网页都是有框架的。

框架有两种实现方式:
一种是通过table来实现,这种方式有其缺陷,那就是没有很好的维护性,所有 ...


您说的太好了 谢谢您了

我们老师的意思大概是不用 <iframe>  而采用其他的方法~~~

那您说 怎么在一个 <div> </div> 里显示一个网页 比如 ddd.htm 的内容呢?

我对做网页的认识还停留在frontpage 问的愚蠢还希望您别笑话

之前找了很多资料 都不如您讲的透彻 论坛里高手真是多啊
#9
zklhp2008-11-24 20:04
以下是引用kai在2008-11-24 13:43的发言:

就框架本身而言与动态静态是无关的。

你的老师说什么不用框架可以加分,是在瞎说八说。任何网页都是有框架的。

框架有两种实现方式:
一种是通过table来实现,这种方式有其缺陷,那就是没有很好的维护性,所有 ...


可能我说的不太明白 不过单纯用 <iframe> …… <iframe> 然后在超链接是设置目标框架  比如 target="T1" 这也算动态吗?

我是是在不明白 还望您指教 谢谢您了
#10
kai2008-11-25 09:26
不用iframe 不是什么困难的事情。你现在先把能做的做起来,然后再来讨论哪些具体问题,我们到时候也可以根据具体问题帮你解决一下,现在讨论这些概念性的东西没有什么意思。
#11
zklhp2008-11-26 13:48
以下是引用kai在2008-11-25 09:26的发言:

不用iframe 不是什么困难的事情。你现在先把能做的做起来,然后再来讨论哪些具体问题,我们到时候也可以根据具体问题帮你解决一下,现在讨论这些概念性的东西没有什么意思。


我不是想讨论概念呀 这个我不懂

我就是想问下 到底怎么用比较简单的方法实现

如果写个js实现该怎么写 您给个方向吧

我查了很多资料 都没弄明白~~~~
#12
kai2008-11-26 16:30
我不是给过你方向了嘛,上次给你看的那个连接就是你想要的效果,典型的右边对左边的响应。

你现在先把基本的代码写出来,然后我们再来帮你处理动态响应问题。你现在什么代码都没有,无从下手啊,所以我跟你讲,谈概念没有什么意思。你也是要最终解决实际问题嘛。
#13
kai2008-11-26 16:32
上次的连接再给你一遍:http://www.
这个就是典型的右边对左边的响应的例子。
#14
zklhp2008-11-26 20:33
您给的那个太复杂了 我只不过做个个人主页~~~

那吧我想的传一下吧

   <div style="height:700px;width:629px;overflow:auto;padding-left:110px;border:1px solid #AAAAAA">
        sdfsfdsf<p>s</p>
        <p>df</p>
        <p>ds</p>
        <p>fa</p>
        <p>fdas</p>
        <p>f</p>
        <p>asf</p>
        <p>sa</p>
        <p>f</p>
        <p>dsa</p>
        <p>f</p>
        <p>saf</p>
        <p>sa</p>
        <p>f</p>
        <p>sadf</p>
        <p>dsa</p>
        <p>f</p>
        <p>sf</p>
        <p>sd</p>
        <p>f</p>
        <p>sdf</p>
        <p>dsaf</p>
        <p>as</p>
        <p>f</p>
        <p>dsf</p>
        <p>sa</p>
        <p>f</p>
        <p>asf</p>
        <p>dsa</p>
        <p>f</div>

比如说有这个  我想在这里面显示其他的页 比如aaa.htm  该怎么操作
#15
zklhp2008-11-26 20:34
只有本站会员才能查看附件,请 登录


就是这个 整个网站太大了 您简单说下就行 谢谢您了
#16
kai2008-11-29 09:58
如果你要在一个框架里面显示另外一张页面(html 文件),那么你只有用iframe 了,没有别的方法。

如果你在某个框架里面显示某一张页面的内容,那么你可以将那张页面的内容写进去就可以了,也就是写入body 里面的内容。
#17
zklhp2008-11-30 18:14
以下是引用kai在2008-11-29 09:58的发言:

如果你要在一个框架里面显示另外一张页面(html 文件),那么你只有用iframe 了,没有别的方法。

如果你在某个框架里面显示某一张页面的内容,那么你可以将那张页面的内容写进去就可以了,也就是写入body 里面的内容 ...


那您说怎么读出body中的内容呢 写入是不是用 wrintedocument?
#18
kai2008-12-01 09:45
我到现在没有完全搞懂你的意思,你是不是要想通过点击左侧竖直排列的navi 来切换右侧中间的网页内容啊?如果是这样的话,分别写页面不就行了嘛。

比如你左边的导航栏里面有三个item, 比如item1, item2, item3, 那么你就写三张对应的页面不就行了嘛。这样点击item1 的时候,页面 a.html 就显示出来, 点击item2 的时候, 页面b.html就显示出来, 点击item3 的时候 页面 c.html 就显示出来。这不是挺简单的嘛。
#19
zklhp2008-12-02 21:13
以下是引用kai在2008-12-1 09:45的发言:

我到现在没有完全搞懂你的意思,你是不是要想通过点击左侧竖直排列的navi 来切换右侧中间的网页内容啊?如果是这样的话,分别写页面不就行了嘛。

比如你左边的导航栏里面有三个item, 比如item1, item2, item3, 那 ...


呵呵 偶实在是太菜了 对这个完全不明白 还望您别生气

可否简单写个例子呢 是不是用 writedocument ?您说的我也不太明白~~~

谢谢您了
#20
zklhp2008-12-02 21:17
以下是引用kai在2008-12-1 09:45的发言:

我到现在没有完全搞懂你的意思,你是不是要想通过点击左侧竖直排列的navi 来切换右侧中间的网页内容啊?如果是这样的话,分别写页面不就行了嘛。

比如你左边的导航栏里面有三个item, 比如item1, item2, item3, 那 ...


呵呵  您说的对 我就是这个意思

那您说怎么写页面啊 是不是用那个writedocument

如果是这样 偶还有一点不明白:怎么得到那个页面呀 直接用writedocument写不了啊 这个个网页

好像是先用那个Get……得到什么 然后再写的~~~

望您指教 帮帮我这个大菜鸟吧~~~
#21
donghaojie2008-12-03 16:39
用嵌入式框加!很灵活的......插入>标签>HTML标签>页元素>inframe
#22
zklhp2008-12-03 17:37
以下是引用donghaojie在2008-12-3 16:39的发言:

用嵌入式框加!很灵活的......插入>标签>HTML标签>页元素>inframe


我问的是不用这个该怎么办 您说说怎么弄
#23
kai2008-12-04 09:23
zklhp,
我在18楼写得这么清楚了,你居然还是看不懂,我真的服了你了。
#24
kai2008-12-04 09:26
你把这个下载下来,自己去看吧。
#25
zklhp2008-12-04 12:42
以下是引用kai在2008-12-4 09:26的发言:

你把这个下载下来,自己去看吧。


我对这个是一窍不通 让您看笑话了

谢谢您了

但是我说的不是这样啊 您这个是用了三个页 每个里面都有重复的部分 所以达到了我说的效果 如果只是变换想要变换的内容 其他的不变该怎么办呢?

还望您赐教
#26
kai2008-12-04 13:07
zklhp,
你这个人怎么这么死板啊.我给你看的只是一个例子啊,你的navi 里面如果有六项,就6个页面喽,9个么就9个页面喽.

你看看别人的网站,有哪个是用javascript 的,都是用我说的方法啊.

你如果嫌烦,你还可以用php 写一个navi 的php 文件,然后在每个需要用到那个navi的其他页面里面include 就行了喽.这不是很简单的嘛.
#27
zklhp2008-12-04 13:28
以下是引用kai在2008-12-4 13:07的发言:

zklhp,
你这个人怎么这么死板啊.我给你看的只是一个例子啊,你的navi 里面如果有六项,就6个页面喽,9个么就9个页面喽.

你看看别人的网站,有哪个是用javascript 的,都是用我说的方法啊.

你如果嫌烦, ...


老大啊 不是死板 我是一点都不会……

这也就是个作业 我的水平就停留在用frontpage做网页的水平啊

我还是老老实实用框架吧 这些太麻烦了 找不到那么现成的~~~

再次感谢您的耐心指导!
#28
kai2008-12-04 13:43
zklhp,
我告诉你啊,你用iframe 写,也得有这么多页面的,工作量是一点不会少的.在页面中放iframe 是很丑陋的,因为这样一来,如果页面长的话,会在页面中出现竖向滚动条的,而这个是要避免的.

建议你还是用我跟你说的方法做.你的老师大概也就是这个意思,这样做了,你就可以作业加分了.
#29
zklhp2008-12-05 15:53
以下是引用kai在2008-12-4 13:43的发言:

zklhp,
我告诉你啊,你用iframe 写,也得有这么多页面的,工作量是一点不会少的.在页面中放iframe 是很丑陋的,因为这样一来,如果页面长的话,会在页面中出现竖向滚动条的,而这个是要避免的.

建议你还是用我 ...


谢谢您这么耐心的回答 不过我还是不明白您的实现方法~~~

这样的话是不是每一页都得有那个导航栏的代码呀?

要是我想只变换内容 其他的不变怎么办呢?

[[it] 本帖最后由 zklhp 于 2008-12-5 15:55 编辑 [/it]]
#30
kai2008-12-05 16:13
以下是引用zklhp在2008-12-5 15:53的发言:



谢谢您这么耐心的回答 不过我还是不明白您的实现方法~~~

这样的话是不是每一页都得有那个导航栏的代码呀?

要是我想只变换内容 其他的不变怎么办呢?


可以实现,用任何一种动态语言都可以实现,包括用javascript 也可以实现。不过没有人这么做的。因为这样的做法只是雕虫小技,没有实用性。之所以说没有实用性,是因为这样的网站很难维护,代码的可读性变得很差。
#31
kai2008-12-05 16:15
如果你不信,你可以问问静老板,就是这个站的站长,你问问他是不是这样的。
#32
zklhp2008-12-05 18:52
以下是引用kai在2008-12-5 16:15的发言:

如果你不信,你可以问问静老板,就是这个站的站长,你问问他是不是这样的。


我当然相信了 您是高手 我哪敢不信呀

不过 这只是个作业 忽悠住老师就行 呵呵

正因为这个方法没有实用性 所以在网上找了半天都没找到 我又不懂这个 这才发问

还望您说说这种方法的实现原理 谢谢您了
#33
kai2008-12-06 10:25
关于用javascript 来实现,最好到javascript 板块问。我帮你转过去吧。
#34
kai2008-12-06 10:27
好像没法转啊。
#35
静夜思2008-12-06 10:28
右上角的管理——移动主题
#36
kai2008-12-06 14:16
zklhp,
根据静老板的提示,已经帮你转到javascipt 板块了。请留意那里的回复。
#37
zklhp2008-12-06 17:27
以下是引用kai在2008-12-6 14:16的发言:

zklhp,
根据静老板的提示,已经帮你转到javascipt 板块了。请留意那里的回复。


太谢谢您了
#38
zklhp2008-12-09 17:57
这个版很冷清啊~~~
#39
kai2008-12-09 18:04
就按我说的做,做完就好交掉了,别浪费时间了。
#40
zklhp2008-12-10 13:54
以下是引用kai在2008-12-9 18:04的发言:

就按我说的做,做完就好交掉了,别浪费时间了。


偶不明白您说的什么意思

还有 您说的那个方法不符合我们老师的要求呀~~~
#41
frankqnj2008-12-11 05:09
不用框架 实现你要的功能
只有2条路  但其实 是一条. 都是异步读数据 返回给js
分别是 ajax 和 动态script块的方式  第一种不支持 跨域 第二种支持
但ajax 很方便 无论是 xml json js 又或者是 纯文本格式都支持  但 script块 你只能选择json方式

而且总结来说 这些方法 都是费力不讨好的   别说我们js版冷清哈....
实现局部刷新 (框价的实质就是这个. 不过它的局部刷新是对于top页来说的.) 就只有这几条路可走  
按您目前对 web开发不太了解的情况下 不要考虑 ajax 或script块方式了. 这些做些简单的 增强体验的异步功能还好. 但要用来模拟 frame 简直是 有病.

那么如果你硬是要实现的话 我的建议是  使用ajax  的纯文本方式. 这样更容易实现些 . 切不需要太复杂的东西 直接用后台的 ajax handler 页扔回来的 html 代码  加到 要控制的容器 中去就可以了  obj.innerHTML=xmlHttpRequest.responseText

缺点 一个是 ie浏览器 处理innerHTML时 如果存在表格或 选择列表的话 会有些问题...
但这要比你选择xml 或json 最终 使用dom 的appendChild 去生成 HTMLElement 要容易的多.
再就是 你无法有效的处理一些源数据 当然 你的这个需求  不需要处理源数据.

其他需要注意的地方 就都在 服务器端了.  我就不罗嗦了.
#42
kai2008-12-11 09:58
我想起来了,我确实做过楼主想要的这种效果,不过不是用javascript 写的,而是用php 写的。可惜楼主你也不懂php,想必你也没有安装php 所以给你也是没用的。
#43
zklhp2008-12-11 17:42
以下是引用frankqnj在2008-12-11 05:09的发言:

不用框架 实现你要的功能
只有2条路  但其实 是一条. 都是异步读数据 返回给js
分别是 ajax 和 动态script块的方式  第一种不支持 跨域 第二种支持
但ajax 很方便 无论是 xml json js 又或者是 纯文本格式都支持 ...


老大们解释的太好了

谢谢大家了

这个就结帖吧  再说下去没意思了 偶还是用最简单的糊弄老师吧~~~

各位说的偶都不太懂 不过有一点偶明白了  这个要求实现起来有困难
#44
一岁就有梦2008-12-16 16:53
你说的好想要用DHTML,Ajax技术吧
1