我有一个HTML文档,其中包含使用<ul><li><img...的网格格式的图像.浏览器窗口既有垂直窗口,也有;水平滚动.

Question:

我在这里浏览过类似的帖子...虽然我对JavaScript很陌生,我想了解自己是如何做到这一点的.

推荐答案

既然你想知道它是怎么工作的,我就一步一步地解释.

首先,要将函数绑定为图像的单击处理程序:

$('#someImage').click(function () {
    // Code to do scrolling happens here
});

这将把click处理程序应用于一个id="someImage"的图像.如果要对all个图像执行此操作,请将'#someImage'替换为'img'.

现在查看实际的滚动代码:

  1. 获取图像偏移(相对于文档):

    var offset = $(this).offset(); // Contains .top and .left
    
  2. topleft中减go 20:

    offset.left -= 20;
    offset.top -= 20;
    
  3. 现在为<body><html>的滚动顶部和滚动左侧CSS属性设置动画:

    $('html, body').animate({
        scrollTop: offset.top,
        scrollLeft: offset.left
    });
    

Javascript相关问答推荐

promise .all()永不解决

Vue v模型检测父参考更改

使用JavaScript更改json值顺序

Express.js:以块形式发送响应

Vue-Router渲染组件但不更改网址

鼠标移动时更新画布

为什么JavaScript双边字符串文字插值不是二次的?

禁用从vue.js 2中的循环创建的表的最后td的按钮

Exceljs:我们在file.xlsx(...)&#中发现了一个问题'"" 39人;

WebRTC关闭navigator. getUserMedia正确

Mongoose post hook在使用await保存时不返回Postman响应

如何在JavaScript文件中使用Json文件

加载背景图像时同步旋转不显示的问题

如何发送从REST Api收到的PNG数据响应

TinyMCE 6导致Data:Image对象通过提供的脚本过度上载

如何 for each 输入动态设置输入变更值

Phaserjs-创建带有层纹理的精灵层以自定义外观

如何在Press上重新启动EXPO-AV视频?

如何用javascript更改元素的宽度和高度?

在Vercel中部署Next.js项目时获取`ReferenceError:未定义文档`