jquery - 重构此 jQuery 代码

标签 jquery scroll

$('.go2page1').click(function() {
  $("body").scrollTo({
    top: '0px',
    left: '0px'
  }, 800);
  return false;
});
$('.go2page2').click(function() {
  $("body").scrollTo({
    top: '0px',
    left: '1100px'
  }, 800);
  return false;
});
$('.go2page3').click(function() {
  $("body").scrollTo({
    top: '0px',
    left: '2200px'
  }, 800);
  return false;
});
$('.go2page4').click(function() {
  $("body").scrollTo({
    top: '0px',
    left: '3300px'
  }, 800);
  return false;
});

这可行,但有几个页面,每个页面都有一个,可以将其压缩为几行,并将“事件”添加到所选页面吗?

最佳答案

$('.go2page').click(function(e) {
    e.preventDefault();
    $('body').scrollTo({
        top: $(this).data('top'),
        left: $(this).data('left')
    }, 800);
});

然后将所有链接设置为class="go2page"data-left="3300px"data-top="0px"(当然,将偏移量替换为正确的偏移量)。

虽然 data- 属性是 HTML5 的东西,但没有浏览器会遇到未知属性的问题,因此代码在所有浏览器中都可以正常工作。除非您使用 HTML5 文档类型,否则 HTML 验证器会提示。

关于jquery - 重构此 jQuery 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764321/

相关文章:

jQuery + CSS + IE 问题 : hidden elements appear briefly when page is loading

javascript - 如何在单击按钮时打开模态弹出窗口

html - 使用 CSS3 自动滚动溢出文本

jquery - 选择已滚动到的元素

css - 我可以来来去去作为一个卷轴有条件

图像加载时的 jQuery 回调(即使图像被缓存)

jQuery每个循环从除最后一级之外的所有级别获取选定的信息

jquery - 位置固定问题

javascript - 如何解析 json 字符串包含 javascript 中的循环引用?

iOS:将 scrollPosition 设置为 `UITableViewScrollPositionMiddle` 它没有滚动到正确的位置