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

求教一个WEB前端的问题

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

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

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

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