【问题标题】:jquery address plugin interferring with scrollTo valuesjquery地址插件干扰scrollTo值
【发布时间】:2011-04-13 06:20:42
【问题描述】:

我已经构建了一个基于 ajax 的网站,该网站利用地址 jquery 插件来实现后退按钮浏览器的兼容性。然而,由于页面是通过 ajax 页面获取的,因此传统的页面刷新并不明显,而且在用户导航等方面相当混乱。用户点击链接,ajax 获取页面,虽然成功并且页面在屏幕上获取,但屏幕不会转到顶部尤其是当窗口较长并且单击的链接位于源页面的最底部时。仿佛一切都没有改变。我尝试使用 scrollTo 插件,但测试时窗口的 scrollTop 值始终为 0 和零,删除地址插件时,现在可以读取 scrollTop 值。

有人遇到过同样的问题吗?

提前谢谢你!

【问题讨论】:

    标签: jquery plugins conflict scrollto jquery-address


    【解决方案1】:

    我遇到了完全相同的问题,尝试了几种滚动到顶部的方法,最终我删除了滚动到顶部按钮。

    现在我一直在用 iphone 测试我的网站(使用引导响应),我发现只有页面顶部会显示,我根本无法滚动。

    这两个问题似乎都与 wrap 选项有关,它对页面做了一些奇怪的事情。

    我所做的修复它是在页面中导入 jquery.address.js 文件时添加一些额外的参数:

    <script type="text/javascript" src="/script/jquery-address/jquery.address.js?strict=false&wrap=false"></script>
    

    注意 ?strict=false&wrap=false

    这似乎对我有用 :) 希望对你有帮助!

    【讨论】:

      【解决方案2】:

      看看

      $.address.wrap(value)
      

      http://www.asual.com/jquery/address/docs/#api-reference

      或者您可以使用 jquery 动画向上滚动。我之前所做的是为滚动设置动画,然后更改 $.address.value。像这样:

      $('a').click(function(e){
          e.preventDefault();
          var a = $(this);
          $('html').animate({ scrollTop: 0 }, 100, function () {
              $.address.value(a.attr('href'));
          });
      });
      

      【讨论】:

      • 你好!那个有点作用,但不完全。没有滚动动画,但如果我将参数上的值强制为精确的锚名称或 ID,则只会跳转到锚标记。我不知道在 a 标签上放什么确切值,因为我所有的“a”标签的 href 都是这种格式: href='#page?methodcall=aboutus&partnerid=123' ...所以,当 $.address.change被称为参数被传递给 ajax 函数以获取页面......(包装已经 =1)然后滚动不再发生......希望你仍然可以提供帮助,尽管地址 jquery 插件似乎是一个对我来说非常好的工具!谢谢!
      • 这个问题还没有解决,如果有人有同样的问题请发帖!谢谢!
      猜你喜欢
      • 2013-04-27
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 2012-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多