Javascript Jquery ScrollTop 配对元素

标签 javascript jquery html scrolltop

您好,我是编程新手,请原谅我的无知。

我有几个元素,单击时使用 ScrollTop jQuery 函数滚动到指定点(在另一个引导导航选项卡中)。我有大约 20 个不同的元素,单击它们即可执行此操作。我编写了 20 个不同的函数,它们与下面的函数类似。我确信必须有一种方法来存储这些对,并有一个调用这些对的 ScrollTop 函数。

$('#element').click(function(e) {
  e.preventDefault();
  var target = $('#element2').closest('.tab-pane').attr('id');
  showTab(target);
  setTimeout(function() {
    $('html, body, nav').animate({
    scrollTop: $("#element2").offset().top -100
}, 500);
}, 500);
});

所以我的js文件有二十个左右这个函数,其中“#element”和“#element2”被“#alpha”“#alpha2”,“#beta”“#beta2”等替换...

我应该使用数组吗?一类?感谢您抽出时间。

最佳答案

<强> See Working Fiddle Here

是的,您可以将相同的类添加到您想要点击它们的所有元素,以减少代码,请参阅HTML示例:

  • <span class="scrollTop" id="element">element text</span>
  • <span class="scrollTop" id="alpha">alpha text</span>
  • <span class="scrollTop" id="beta">beta text</span>

向 JavaScript 代码添加两条线:

JS:

var id = $(this).attr('id'); //Id of clicked item
var scrollToId = '#'+id+"2"; //Id of scrolled to item
  • 然后将静态 ID 替换为动态 ID(scrollToId、id)。

完整的 JS:

$('.scrollTop').click(function(e) { 
    e.preventDefault(); 

    var id = $(this).attr('id'); //Id of clicked item
    var scrollToId = '#'+id+"2"; //Id of scrolled to item
    var target = $(scrollToId).closest('.tab-pane').attr('id');

    showTab(target);
    setTimeout(function() {
        $('html, body, nav').animate({
            scrollTop: $(scrollToId).offset().top -100
        }, 500);
    });
});

关于Javascript Jquery ScrollTop 配对元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31441600/

相关文章:

javascript - 如何在 vue.js 中的项目循环内切换类

javascript - 当包含 jQuery 时,HTML 选择元素类型为 'select-one'。它是跨浏览器值吗?

javascript - PHP 发送器与 js

html - Bootstrap 3 向右浮动防止堆叠

javascript - React.js 为什么组件在更改 props 后不会立即重新渲染

javascript - Uncaught ReferenceError : Worker is not defined while trying to create a Worker within another Worker in Chrome

javascript - 将 jQuery tablesorter 与 thead 结合起来 : How to assign final html output?

javascript - 如何在 session 之间保持类切换?

html - 具有绝对位置的悬停时工具提示的灵活宽度

html - CSS img 悬停扩展黑条