javascript - 将溢出的 div 平滑地滚动到其中的特定位置

标签 javascript jquery html css

<分区>

我有一个包含不同内容部分的滚动 div。当我点击标题时,我试图让 div 滚动到特定部分。我的 div 如下:

这是 fiddle 链接:http://jsfiddle.net/4Fx4a/1/

下面是我的代码:

 <div class="callout panel" style="background-color:#535F6D;">
  <div class="row">
    <div class="large-4 medium-4 columns" style="height:100px;">
      <div class="callout" style="">
        <p style="color:#fff;font-size:11px;text-align:left;">
          Event cum exhibition
          <span style="text-transform:uppercase">
            <br/>
            Series 1
          </span>
        </p>
        <p style="color:#fff;font-size:12px;text-align:left">
          Series 2
        </p>
      </div>
    </div>
    <div class="large-8 medium-8 columns" style="border-left:1px dotted #fff;height:215px;overflow-y:scroll">
      <div class="callout">
        <p style="color:#fff;font-size:14px;text-align:left" id="series1">
         Series 1
          <br/>
          Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 

        </p>

        <p style="color:#fff;font-size:14px;text-align:left" id="series2">
         Series 2
          <br/>
          Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 

        </p>
      </div>
    </div>
  </div>

</div>

因此,当有人点击“Series 2”标题时,它应该使 div 滚动到“Series 2”。我怎样才能使 div 的内容平滑地滚动到那个点(即不是单次跳转,而是使用实际的滚动动画)?

最佳答案

使用jQuery你可以做一个滚动功能

(function($) {
    $.fn.goTo = function() {
        $('html, body').animate({
            scrollTop: $(this).offset().top + 'px'
        }, 'fast');
        return this;
    }
})(jQuery);

然后是快速调用的方法

$('#series1').goTo();

然后在heading和bam中添加一个onclick事件

   onclick="$('#series1').goTo();"

这是一个JSFiddle

您可以通过将fast 更改为slow 等来改变速度

关于javascript - 将溢出的 div 平滑地滚动到其中的特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23715866/

上一篇:css - 将样式表添加到我的选项页面

下一篇:css - 为什么我在手机上的 body 周围仍然有空白?

相关文章:

javascript - d3 : Adding and removing force. 基于 slider 值的节点

javascript - React 组件无法同步由动态 ReactDOM.render 创建的 props

javascript - 为下拉列表中的每个元素设置唯一的ID(MVC)

jquery - 在 jQuery 验证引擎中添加自定义正则表达式验证

javascript - 使用 select 动态更改 google map 脚本 src

css - 根据另一个 div 的渲染高度渲染一个 div 高度

javascript - 缩略图图像高度

javascript - 使用 Knockout 在下拉列表中绑定(bind)选定项

javascript - 使用 jquery 添加元素到空列表

html - 如何仅使用 CSS 创建带有正方形的网格,同时尊重最大宽度和高度?