jQuery从按钮onclick跳转或滚动到页面上的某个位置,div或目标[重复]

Posted

技术标签:

【中文标题】jQuery从按钮onclick跳转或滚动到页面上的某个位置,div或目标[重复]【英文标题】:jQuery jump or scroll to certain position, div or target on the page from button onclick [duplicate] 【发布时间】:2013-02-16 00:36:27 【问题描述】:

当我点击一个按钮时,我希望能够向下跳转或滚动到页面上的特定 div 或目标。

$('#clickMe').click(function() 
    //jump to certain position or div or #target on the page
);

我该怎么做?

【问题讨论】:

【参考方案1】:

我会将链接的样式设置为按钮,因为这样就没有 js 后备。


这就是你如何使用 jquery 为跳跃设置动画的方法。 No-js fallback 是没有动画的正常跳转。

原始示例:

jsfiddle

$(document).ready(function() 
  $(".jumper").on("click", function( e ) 

    e.preventDefault();

    $("body, html").animate( 
      scrollTop: $( $(this).attr('href') ).offset().top 
    , 600);

  );
);
#long 
  height: 500px;
  background-color: blue;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Links that trigger the jumping -->
<a class="jumper" href="#pliip">Pliip</a>
<a class="jumper" href="#ploop">Ploop</a>
<div id="long">...</div>
<!-- Landing elements -->
<div id="pliip">pliip</div>
<div id="ploop">ploop</div>

新示例,带有链接的实际按钮样式,只是为了证明一点。

除了我将类 .jumper 更改为 .button 并添加了 css 样式以使链接看起来像按钮之外,一切都基本相同。

Button styles example

【讨论】:

OP 提到他们想使用一个按钮。【参考方案2】:
$("html, body").scrollTop($(element).offset().top); // <-- Also integer can be used

【讨论】:

不能让它工作,我在哪里指定了 div #goHere,我需要它来向下滚动页面到特定的 div。欢呼 嘿,您必须将 $(element) 替换为 $("#goHere")$("body") 将保持原样,因为我们要移动 body 的滚动条。 这段代码在 chrome 中运行良好,但在 Firefox 中不行,至少在 ff 21.0 中不行 :( 解决方法是添加$("body, html").scrollTop(...) 我想实现这个效果,但是我是n00b。这段代码去哪儿了?

以上是关于jQuery从按钮onclick跳转或滚动到页面上的某个位置,div或目标[重复]的主要内容,如果未能解决你的问题,请参考以下文章

jquery onclick无需滚动即可转到页面顶部[重复]

从默认的index.jsp页面跳转或转发到其他页面

页面加载时自动滚动到指定位置!如何做

jquery点击按钮图片上下滚动怎么做?

JSP页面onclick事件失效

apache如何实现该种跳转或重定向?