Javascript Jquery滚动顶端成对元素
你好,我是编程新手,请原谅我的无知 我有几个元素,单击时使用ScrollTop jQuery函数滚动到指定点(在另一个引导nav选项卡中)。我有大约20个不同的元素,当点击时,它们可以完成这个任务。我已经写了20个不同的函数,它们看起来与下面的函数相似。我确信一定有办法存储这些对,并且有一个调用这些对的ScrollTop函数Javascript Jquery滚动顶端成对元素,javascript,jquery,html,scrolltop,Javascript,Jquery,Html,Scrolltop,你好,我是编程新手,请原谅我的无知 我有几个元素,单击时使用ScrollTop jQuery函数滚动到指定点(在另一个引导nav选项卡中)。我有大约20个不同的元素,当点击时,它们可以完成这个任务。我已经写了20个不同的函数,它们看起来与下面的函数相似。我确信一定有办法存储这些对,并且有一个调用这些对的ScrollTop函数 $('#element').click(function(e) { e.preventDefault(); var target = $('#element2').
$('#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文件有20个左右的函数,其中“#element”和“#element2”与“#alpha”、“#alpha2”、“#beta”、“#beta2”等子层
我应该使用数组吗?一节课?谢谢您的时间。尝试将类“element”添加到每个元素id后跟数字的项目中-此时无需删除id
然后,将代码中的选择器更改为:
$('.element').click(function(e) {
如果使用类名而不是id,则当单击任何具有“element”类的项时,都会收到通知
如果您需要根据它是哪一个进行特殊津贴-在您的单个函数中,您可以通过检查它的id来检查您正在处理的是哪一个:
$(this).attr('id')
祝你好运
是的,您可以将相同的类添加到所有要启动的元素中,单击它们以减少代码,请参见HTML示例:
元素文本
alpha文本
测试版文本
var id = $(this).attr('id'); //Id of clicked item
var scrollToId = '#'+id+"2"; //Id of scrolled to item
$('.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);
});
});
- 然后用动态id(scrollToId,id)替换静态id
var id = $(this).attr('id'); //Id of clicked item
var scrollToId = '#'+id+"2"; //Id of scrolled to item
$('.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);
});
});
你能更改标记吗?对不起,你是说在这篇文章上吗?我是说你的HTML,你能发布吗?