我怎么在move的时候让对应的样式也修改,也就是elRed.style或elGreen.style,现在不起作用。
可以跳转到这里直接看效果:
https://play.vuejs.org/#eNqlVW1r2zAQ/is3U4gDmdPto5eWbnSMwcZg7...
<template>
<div
:style="[elRed.style, { background: 'red' }]"
@mousedown="startDrag(elRed, $event)"
:class="{ dragging: elRed.isDragging }"
>
Drag me! I am at {{ elRed.x }}, {{ elRed.y }}
</div><br/>
<div
:style="[elGreen.style, { background: 'green' }]"
@mousedown="startDrag(elGreen, $event)"
:class="{ dragging: elGreen.isDragging }"
>
Drag me! I am at {{ elGreen.x }}, {{ elGreen.y }}
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue';
function useDraggable() {
const x = ref(0);
const y = ref(0);
const style=ref({
position: 'fixed',
transform: 'translate(10px, 10px)',
})
const isDragging = ref(false);
const start = (event) => {
isDragging.value = true;
};
const move = (event) => {
if (isDragging.value) {
x.value = event.clientX;
y.value = event.clientY;
style.value = {
position: 'fixed',
transform: `translate(${x.value}px, ${y.value}px)`,
};
}
};
const handelStyle=()=>{
return {
position: 'fixed',
transform: `translate(${x.value}px, ${y.value}px)`,
}
}
const end = () => {
isDragging.value = false;
};
return {
x,
y,
style: {
position: 'fixed',
transform: `translate(${x.value}px, ${y.value}px)`,
},
handelStyle,
isDragging,
start,
move,
end,
};
}
const elRed = useDraggable();
const elGreen = useDraggable();
const startDrag = (dragObj, event) => {
event.preventDefault();
dragObj.start(event);
document.addEventListener('mousemove', dragObj.move);
document.addEventListener('mouseup', stopDrag);
};
const stopDrag = (event) => {
elRed.end();
elGreen.end();
document.removeEventListener('mousemove', elRed.move);
document.removeEventListener('mousemove', elGreen.move);
};
</script>
<style>
.dragging {
cursor: move;
}
</style>
import {ref,reactive} from 'vue';
const elRed = reactive(useDraggable());
const elGreen = reactive(useDraggable());
然后你style return出去的时候,应该是用那个有ref的部分,而不是静态的对象
现在需要动态获取dom列表的高度,该列表是后台返回的数据,数据条数是不固定的。目前设置的动画效果是写死的高度,根据该高度做动画滚动,现在要把该高度改成动态的值。 已经尝试过的方法:roll.value.styleSheets,发现该属性获取不到@keyframes
大佬帮忙修改一下面的代码,鼠标可以分别拖拽div,并且不超过窗口的边界。 https://play.vuejs.org/#eNqlVW1r2zAQ/is3U4gDmdPto5eWbnSMwcZg7...
本文向大家介绍php中动态修改ini配置,包括了php中动态修改ini配置的使用技巧和注意事项,需要的朋友参考一下 1,运行时改变配置 在前一篇中曾经谈到,ini_set函数可以在php执行的过程中,动态修改php的部分配置。注意,仅仅是部分,并非所有的配置都可以动态修改。关于ini配置的可修改性,参见:http://php.net/manual/zh/configuration.changes.
为什么执行 时只有最后一个元素发生了变化?
本文向大家介绍聊聊Vue 中 title 的动态修改问题,包括了聊聊Vue 中 title 的动态修改问题的使用技巧和注意事项,需要的朋友参考一下 由于之前的 Vue 项目打包成果物一直是嵌入集成平台中,所以一直没有关注过项目的 title。直到最近,突然有个需求,要求点击按钮在集成平台外新开一个页面,此时我才发现,原来我的项目的 title 一直是万年不变的 vue-project。理所应当的
自1.14.0开始,zuul网关支持动态修改请求参数。即在网关修改客户端传递过来的参数,然后发送到微服务端。 客户端参数{"name": "jim"} --> zuul中修改为{"name": "Lucy"} --> 微服务端将收到{"name": "Lucy"} 使用场景:客户端请求参数经过加密,在网关解密后,再次发送明文参数给微服务端 如何使用 在网关springboot启动函数中添加如下代