• 请不要在回答技术问题时复制粘贴 AI 生成的内容
larkifly
V2EX  ›  程序员

求教一个WEB前端的问题

  •  
  •   larkifly · Oct 9, 2013 · 3972 views
    This topic created in 4779 days ago, the information mentioned may be changed or developed.
    我用jquery,在A.html页面中引用B.html。但是每次在A中单击后,显示出来的B页面内容就会覆盖A的当前位置的下面的内容。

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

    请问怎么实现呀
    18 replies  •  1970-01-01 08:00:00 +08:00
    luo123qiu
    luo123qiu
    Oct 9, 2013
    1
    你把B的内容写在正文的下面,点击按钮时toggle就可以啦?
    是这个意思么?你说的会覆盖的问题可能是因为你用到了浮动吧?
    jianghu52
    jianghu52
    Oct 9, 2013
    2
    假设有个div叫 out。里面原来装的就是b 页面的内容。
    你试试这个语句 $("#out").append(data);
    data就是你取到的a 页面的内容。你看看行不行。(我这个是放在ajax里面取得的,我猜你也是)
    learnshare
    learnshare
    Oct 9, 2013
    3
    使用 Ajax 将 b 的内容插入到指定位置即可。(b 应该是 HTML 片段)
    larkifly
    larkifly
    OP
    Oct 9, 2013
    4
    @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
    larkifly
    OP
    Oct 9, 2013
    5
    @jianghu52 看4楼的代码,应该怎么改了,这是我从网上抄的,我基本不会js、ajax这些东西,
    qiayue
    qiayue
    Oct 9, 2013
    6
    innerHTML 就是那个 id 为 load_id 的 div 的内部内容
    现在你用 b 的内容直接替换掉之前的内容,当然会覆盖了
    larkifly
    larkifly
    OP
    Oct 9, 2013
    7
    @qiayue 那应该怎么改了
    nealv2ex
    nealv2ex
    Oct 9, 2013
    8
    @larkifly 撸主你唬人,不是说用jquery?在哪里呢?
    $.get(load_page,function(res){
    $(load_id).prepend(res);
    });
    larkifly
    larkifly
    OP
    Oct 9, 2013
    9
    @nealv2ex 哈哈,不好意思,其实这些我都不懂,就看网上说什么,我就当是什么。

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

    是这个意思吗?
    chone
    chone
    Oct 9, 2013
    18
    var container = document.getElementById(load_id)
    container.innerHTML = xmlobj.responseText + container.innerHTML;

    掉了个字母。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2220 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 14:07 · PVG 22:07 · LAX 06:07 · JFK 09:07
    ♥ Do have faith in what you're doing.