javascript - jQuery缩放功能不适用于悬停图像
问题描述
我正在使用这个库:https
://www.jacklmoore.com/zoom/
它在将鼠标悬停在图像上时添加了缩放功能。我确实在我的主题中添加了库,并将这个 jQuery 代码添加到我的 js 文件中:
$(document).ready(function(){
$('.head-image img').zoom();
});
这是图像所在的 HTML:
<div class="head-image">
<img src="<?php the_post_thumbnail_url('full'); ?>" class="img-fluid">
</div>
当我将图像悬停在网页上时,没有任何变化,但如果我查看检查器,我确实看到添加了 zoomImg 类并且 CSS 正在更改,但我没有看到图像缩放。
有人知道为什么图像没有缩放吗?
谢谢你的时间!
解决方案
我在这里有一个替代解决方案来满足您的要求:
const img=document.querySelector('.image');
const pro=document.querySelector('.image img');
img.style.width=(pro.clientWidth)+'px';
var zoomSize = pro.clientHeight*6;
img.addEventListener('mousemove', printPosition);
img.addEventListener('mouseout', back);
function getPosition(e) {
var rect = e.target.getBoundingClientRect();
var x = e.clientX - rect.left;
var y = e.clientY - rect.top;
return {
x,
y
}
}
function printPosition(e) {
var position = getPosition(e);
xpos=position.x * (100/pro.clientWidth);
ypos=position.y * (100/pro.clientHeight);
pro.style.transition="0s";
pro.style.transform='translate('+xpos*-5+'%, '+ypos*-5+'%)';
pro.style.height=zoomSize+"px";
console.log('X: ' + xpos + ' Y: ' + ypos);
}
function back(e) {
pro.style.transform='translate(0px, 0px)';
pro.style.height='100%';
pro.style.transition="1s";
}
推荐阅读
- c - 在编译时避免变长堆栈数组
- uml - 在 UML 中,组合是否意味着关联类?
- bash - 使用 sed 命令时未知命令 '<'
- vb.net - 使用 process.start 在 vb.net 中调用 .exe 未显示 Windows 通知
- extjs - 无法在 ext js 6.7 中创建控制器的对象
- image - 如何在本机反应中基于数组内的图像uri渲染图像组件
- plc - TwinCAT3:在隔离内核上运行失败
- oracle - oracle 12c 中的 IMP 不会创建具有 IDENTITY 功能的表
- javascript - 如何在单击输入框而不是图标或箭头时打开 Datepicker 对话框
- flutter - 如何实现一个拱形appBar