javascript - 单击链接以滚动到特定的 div (jquery)

标签 javascript jquery html css

当我单击一个链接并尝试以缓慢的动画滚动到特定的 div 时,整个页面将滚动而不是那个特定的 div。 我正在分享指向下面 plnkr 的链接,以全屏模式打开它。

http://plnkr.co/edit/5ZlY7ivJ2xwckVeyIRzO?p=preview

全屏加载

http://run.plnkr.co/HV426GUKePHeJPfS/

问题是,当单击右侧面板中的内容时(只有推荐和 cme & Attended 被点击),中间面板应该滚动以显示顶部的特定 div。 取而代之的是整个页面都在滚动,从而使 UI 没有多大用处。 我尝试使用以下两个 javascript 代码来显示一些动画并滚动 middle_profile div 或 mm div,但它们都不起作用。

用于滚动 middle_profile div

$("#bb").click(function() {
  $('.middle_profile').animate({
    scrollTop: $("#recommendationDiv").position().top
  }, 'slow');
});
$("#bb1").click(function() {
  $('.middle_profile').animate({
    scrollTop: $("#CMEDiv").offset().top
  }, 'slow');
});

用于滚动 mm div

var scrolled = 0;
$("#bb").on("click", function() {
  scrolled = scrolled - 300;
  $(".mm").animate({
    scrollTop: scrolled
  }, 50);
});

是否有另一种方法可以通过 jquery 或其他一些库来实现平滑滚动页面?

最佳答案

你只需要在 $(document).ready() 中放入你的代码,并在你的 css 中设置 position: relative;顶部:0;到你的 div 谁将成为焦点。

  $(document).ready(function(){    
    $("#bb").click(function() {
      $('html,body').animate({
        scrollTop: $("#recommendationDiv").offset().top
      }, 'slow');
    });
    $("#bb1").click(function() {
      $('html,body').animate({
        scrollTop: $("#CMEDiv").offset().top
      }, 'slow');
    });    
    // var scrolled = 0;
    //   $("#bb").on("click" ,function(){
    //      scrolled=scrolled-300;
    //         $(".mm").animate({
    //           scrollTop:  scrolled
    //      },50);
    //    });
  })

关于javascript - 单击链接以滚动到特定的 div (jquery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37047560/

相关文章:

javascript - 为什么我上传zip文件时不能得到$_FILES [“file” ] [“tmp_name” ]?

javascript - 开发工具 - 类型错误 : 'stepUp'

javascript - Componentart 对话框无法在 IE 中运行(无法获取未定义或 null 引用的属性 'clear')

javascript - 静态加载脚本并在加载时运行

javascript - 计算每行的价格

javascript - 在 jQuery 中检查/迭代多维数组

android - 是否可以获得您的行车路线经过的所有邮政编码的列表?

jquery - 表单提交后如何运行Jquery代码

html - 根据图像调整表格大小

javascript - 如何根据数据属性定位选择选项?