none
如何在AJAX中动态显示div RRS feed

  • 问题

  • 我在页面中使用了UpdatePanel,其包含有一按钮btnA,当点击btnA时会显示一个divPanel,用于填写表单。表单中又有一个按钮btnB,用于显示一个divXm,用于列举数据库中已登记的用户名。但是希望这个divXm能在btnB的下方显示。因为屏幕分辨率以及页面滚动的缘故,按钮在屏幕上的位置会变化,因而divXm的位置也要随之变化。
    现在的问题有:
    1、我想在divXm的style里,通过调用js的脚本先计算top的位置,然后再动态设置top该如何实现!
    2、用了UpdatePanel后,document.getElementById提示缺少对象(已经用了ClientID,在源文件中也查不到这个ClientID,不用UpdatePanel就能查到)。

    谢谢各位了!!!

    2009年5月5日 5:37

答案

  • 这个应该不能

    步骤:
    1。动态的创建一个div,然后往div中添加你要的表单标签,最后记得把这个div添加到文档对象里面去
    2。定位现实的问题了,你点击的地方当成参照点,然后计算你要偏移的量

    很好的锻炼机会,这个代码不能实现
    http://www.mapgou.cn
    2009年5月5日 9:48
  • 那些更新的代码,并不会出现在源代码中,如果你一定要看的话,建议你用Firefox+firebug是可以看见那些变化的代码的
    http://www.mapgou.cn
    2009年5月7日 1:33

全部回复

  •  贴你的代码
    【孟子E章】
    2009年5月5日 6:37
    版主
  • 对于第一个问题:

    LZ是否可以在divXm的定位里使用百分比,同样,对于divPanel的定位也使用百分比,这样可以避免使用JS代码;

    如果LZ无法自己解决请帖上代码,相信会得到更具体的解答。

    2009年5月5日 8:04
  • 这个应该不能

    步骤:
    1。动态的创建一个div,然后往div中添加你要的表单标签,最后记得把这个div添加到文档对象里面去
    2。定位现实的问题了,你点击的地方当成参照点,然后计算你要偏移的量

    很好的锻炼机会,这个代码不能实现
    http://www.mapgou.cn
    2009年5月5日 9:48
  • 谢谢各位的解答,上述功能已经实现了。
    最后的做法是把divXm移到divPanel外,这样可以保证JS能找到该对象,否则因为在点btnA后才出现divPanel,JS提示找不到divXm。
    这里还是有个问题,UpdatePanel在动态更新时,那些更新显示部分的html怎么查不到啊?是否因为在源文件中都找不到divXm,所以JS也查不到呢?
    定位的计算通过点击btnB调用JS脚本来实现,可以做到divXm出现在btnB的正下方。

    再次谢谢
    2009年5月6日 0:40
  • 比如代码是这样:
    <div id="divPanel" style="position:absolute; top:0px">
       ...
    </div>
    <script>
       function calcTop()
       {
            //计算位置并返回;
       }
    </script>

    我能把divPanel中style的top写成类似top:calcTop()吗?
    看到JQuery好像有类似的写法:css({position:"absolute",left:$(this).offset().left,top:$(this).offset().top+$(this).outerHeight(),zIndex:100}).hide().fadeTo(0,0.8);
    http://bbs.jquery.org.cn/read.php?tid-4372.html
    2009年5月6日 0:51
  • 楼主,你好

    请你贴出你的代码,这样我们才能更好的帮助你噢。
    Microsoft Online Community Support
    2009年5月6日 3:15
  • 那些更新的代码,并不会出现在源代码中,如果你一定要看的话,建议你用Firefox+firebug是可以看见那些变化的代码的
    http://www.mapgou.cn
    2009年5月7日 1:33