滚动到无限滚动后出现的div id

时间:2014-02-16 21:29:10

标签: javascript ajax

你好,我有一个页面,其中有一些链接将用户发送到受尊重的页面,当用户进入该页面时,页面将滚动到id为链接的div。

链接:mypage.php?scrollto = divno401当用户到达页面mypage时,它滚动到div whise id为401.当div在页面中但是当div即将到来时,代码工作正常在无限滚动(滚动页面到底部,更多div被附加到mypage)之后,页面会滚动。

说链接是mypage.php?scrollto = divno401,mypage.php只有div到350,而且在将页面滚动到底部后没有401。

这是mypage.php页面上的代码

 <?php
 $getdivno=$_GET['divno'];
 if($getdivno !='') { ?>
     <script>
         var thediv=$("#divnois"+"<?=$getdivno?>");
         if (thediv.length !== 0){
             $('html,body').animate({
                 scrollTop: thediv.offset().top},
             'slow');
         }
         if (thediv.length === 0){ 
             $("html, body").animate({ scrollTop: $(document).height() }, 1000);
             $("#njtpostno70").css("background","red");
         } 
     </script>
 <?php } ?>

div被赋予id,就像divnois401

  <div id="divnois401"> </div>

2 个答案:

答案 0 :(得分:0)

如果使用无限滚动动态加载div,那么在加载页面时DOM可能不存在。如果是这种情况,那么您需要编写一些执行无限滚动的代码,以将所需内容加载到DOM中。如果用户的浏览器没有请求div,那么你期望它在那里?

答案 1 :(得分:0)

在没有重构视图的情况下做一个你想做的事情的粗略方法就是不断执行无限滚动代码,直到找到你想要的div。这不是理想的,因为你强迫浏览器加载大量内容,你也冒着查询字符串中的div不存在的风险!

您可能需要重新考虑将用户引导至您的内容的方式。您是否有可能只有一个单页视图来显示内容,或者如果它没有嵌入所有其他内容中,它会失去所有意义吗?