求教一个WEB前端的问题

2013-10-09 10:17:27 +08:00
 larkifly
我用jquery,在A.html页面中引用B.html。但是每次在A中单击后,显示出来的B页面内容就会覆盖A的当前位置的下面的内容。

我的目的是做一个类似与微博那样的评论系统,单击评论,就弹出历史评论内容,并且,页面的其他内容下移。

请问怎么实现呀
3135 次点击
所在节点    程序员
18 条回复
luo123qiu
2013-10-09 10:22:27 +08:00
你把B的内容写在正文的下面,点击按钮时toggle就可以啦?
是这个意思么?你说的会覆盖的问题可能是因为你用到了浮动吧?
jianghu52
2013-10-09 10:40:21 +08:00
假设有个div叫 out。里面原来装的就是b 页面的内容。
你试试这个语句 $("#out").append(data);
data就是你取到的a 页面的内容。你看看行不行。(我这个是放在ajax里面取得的,我猜你也是)
learnshare
2013-10-09 10:40:41 +08:00
使用 Ajax 将 b 的内容插入到指定位置即可。(b 应该是 HTML 片段)
larkifly
2013-10-09 10:41:04 +08:00
@luo123qiu 我用的是ajax,贴上代码:

function MyLoad(load_id, load_page){
var ajaxobj = new AJAXRequest;
ajaxobj.method = "GET";
ajaxobj.url = load_page;
ajaxobj.callback = function(xmlobj) {
document.getElementById(load_id).innerHTML = xmlobj.responseText;
}
ajaxobj.send();
}

单击的时候,调用这个函数,引入一个页面,但是引入的页面会覆盖原来的内容。
larkifly
2013-10-09 10:44:54 +08:00
@jianghu52 看4楼的代码,应该怎么改了,这是我从网上抄的,我基本不会js、ajax这些东西,
qiayue
2013-10-09 10:45:50 +08:00
innerHTML 就是那个 id 为 load_id 的 div 的内部内容
现在你用 b 的内容直接替换掉之前的内容,当然会覆盖了
larkifly
2013-10-09 10:47:02 +08:00
@qiayue 那应该怎么改了
nealv2ex
2013-10-09 10:50:38 +08:00
@larkifly 撸主你唬人,不是说用jquery?在哪里呢?
$.get(load_page,function(res){
$(load_id).prepend(res);
});
larkifly
2013-10-09 10:57:11 +08:00
@nealv2ex 哈哈,不好意思,其实这些我都不懂,就看网上说什么,我就当是什么。

function MyLoad(load_id, load_page){
$.get(load_page,function(res){
$(load_id).prepend(res);
});
}
这样是吗?不给力呀,没有成功引入load_page了,load_page是个url
jianghu52
2013-10-09 10:57:25 +08:00
document.getElementById(load_id).innerHTML = xmlobj.responseText;
这句你改成
document.getElementById(load_id).appendChild= xmlobj.responseText;
试验一下。
另外跟你说明一下,你这种写法属于js。不是jquery
larkifly
2013-10-09 11:00:10 +08:00
@jianghu52 谢谢,但是按照你的方法不能成功引入,点击没反应
nealv2ex
2013-10-09 11:02:09 +08:00
@larkifly 撸主,我要说的是,这里有点不太适合你,建议你去csdn问问。
jianghu52
2013-10-09 11:03:53 +08:00
document.getElementById(load_id).appendChild( xmlobj.responseText);
写成这样呢。
larkifly
2013-10-09 11:16:00 +08:00
@jianghu52 依然没用了
jianghu52
2013-10-09 11:19:58 +08:00
。。。。没辙了。
larkifly
2013-10-09 11:21:24 +08:00
@jianghu52 依然灰常感谢
chone
2013-10-09 13:23:04 +08:00
var containe = document.getElementById(load_id)
container.innerHTML = xmlobj.responseText + container.innerHTML;

是这个意思吗?
chone
2013-10-09 13:24:03 +08:00
var container = document.getElementById(load_id)
container.innerHTML = xmlobj.responseText + container.innerHTML;

掉了个字母。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/84939

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX