怎样让图片随鼠标移动?

第1种方法

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Title</title>
		<style>
			#img {
				position: absolute;
			}

			body {
				height: 1000px;
				width: 1000px;

			}
		</style>
	</head>
	<body>
		<img id="img" src="../images/aa.jpg" alt="">
		<script src="common.js"></script>
		<script>
			var img = document.getElementById("img");
			document.onmousemove = function(event) {
				//解决兼容问题
				event = event || window.event;
				//获取鼠标的坐标
				//client可见窗口坐标
				// var X=event.clientX;
				// var Y=event.clientY;
				//div的偏移量是相对于整个页面的
				// var X=event.pageX;//IE8不适用
				// var Y=event.pageY;

				//火狐等浏览器认为浏览器的滚动条是html的
				var st = document.body.scrollTop || document.documentElement.scrollTop;
				var sl = document.body.scrollLeft || document.documentElement.scrollLeft;

				var X = event.clientX;
				var Y = event.clientY;
				//设置图片坐标
				img.style.left = X + sl + "px";
				img.style.top = Y + st + "px";
			}
		</script>
	</body>
</html>
在Vue.js中,你可以使用`v-on:mousemove`和`v-on:mousedown`事件监听器以及一些JavaScript操作来实现这个功能。首先,你需要创建一个组件,并在模板中放置一个`<img>`元素。然后,通过计算属性(`computed`)来处理图片的位置变化。 1. 定义组件模板: ```html <template> <div @mousemove="handleMouseMove" @mousedown="handleMouseDown"> <img :src="currentImageSrc" ref="imageRef" /> </div> </template> ``` 2. 在组件内部添加数据和方法: ```javascript <script> export default { data() { return { currentImageSrc: '初始图片URL', imageOffset: { x: 0, y: 0 }, }; }, methods: { handleMouseMove(e) { this.imageOffset = { x: e.clientX - this.$refs.imageRef.offsetLeft, y: e.clientY - this.$refs.imageRef.offsetTop }; // 更新图片的位置,这里可以使用CSS transform 或者直接修改 img 的 style this.currentImageSrc = generateMovedImageSrc(this.imageOffset); }, handleMouseDown(e) { this.handleMouseMove(e); // 初始移动鼠标位置 // 在鼠标按下期间,保持图片固定 document.addEventListener('mousemove', this.handleMouseMove); document.addEventListener('mouseup', this.handleMouseUp); }, handleMouseUp() { document.removeEventListener('mousemove', this.handleMouseMove); document.removeEventListener('mouseup', this.handleMouseUp); }, // 生成跟随鼠标的新图片URL函数 (假设你有某种算法来生成) generateMovedImageSrc(offset) { // ... 实现你的图片生成逻辑,如改变透明度、缩放等,然后返回新的图片URL }, }, }; </script> ``` 在这个例子中,当用户鼠标移到图片上时,`handleMouseMove`会更新图片的偏移量,然后调用`generateMovedImageSrc`生成新图片。当鼠标按下时,`handleMouseDown`会开始跟踪鼠标移动并固定图片,直到鼠标抬起才恢复动态效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值