javascript - 无法修改 HTMLElement 样式
问题描述
我在使用 html 和脚本的事件侦听器方面遇到问题。
我正在尝试通过向我的图像添加事件侦听器来实现鼠标悬停事件的缩放。我希望用户能够通过将指针传递过来来放大图像。我在 yt 上找到了一个 tuto 并试图复制它,但它不起作用。
这是一个小提琴:
https://jsfiddle.net/emk16y7u/5/
一切正常,除了在分配似乎不起作用的最后一行:
magnifying_area.addEventListener("mousemove", function (event) {
clientX = event.clientX - magnifying_area.offsetLeft
clientY = event.clientY - magnifying_area.offsetTop
mWidth = magnifying_area.offsetWidth
mHeight = magnifying_area.offsetHeight
clientX = clientX / mWidth * 100
clientY = clientY / mHeight * 100
magnifying_img.style.transform = 'translate(-' + clientX + '%, -' + clientY + '%) scale (2)'
});
我究竟做错了什么 ?
解决方案
我认为括号之间的空间是不允许的。你也错过了一些;在你的代码上。试试这个固定代码:
magnifying_area.addEventListener("mousemove", function (event) {
clientX = event.clientX - magnifying_area.offsetLeft;
clientY = event.clientY - magnifying_area.offsetTop;
mWidth = magnifying_area.offsetWidth;
mHeight = magnifying_area.offsetHeight;
clientX = clientX / mWidth * 100;
clientY = clientY / mHeight * 100;
magnifying_img.style.transform = 'translate(-' + clientX + '%, -' + clientY + '%) scale(2)';
});
推荐阅读
- r - R中按组进行插值/外插
- c# - 我将如何以编程方式告诉 Visual Studio 加载外部修改?
- list - Kotlin 声明固定大小的相同值的列表
- google-cloud-platform - 如何在一个 Firebase 应用中使用多个 Dialogflow 代理
- asp.net - Net Framework Xunit 与 Moq 单元测试保持调用原始函数
- angular - 在 Angular 8.3.23 上使用多个嵌套自定义数据填充 mat-table
- asynchronous - 期货::选择有什么区别!和 tokio::select?
- hybris - 如何使用自定义店面配置 Spartacus?
- vue.js - 使用 vue 路由器作为文件系统
- javascript - react native webview postmessage不会触发onmessage