vue floating menu
1.0.0
Como sugiere el nombre, este es un menú flotante con funcionalidad de arrastrar y soltar, un proyecto de código abierto.
Un componente de ventana flotante basado en vue, que se puede arrastrar libremente en la pantalla. Después de arrastrarlo, se puede adsorber a ambos lados de la página según la posición final y se puede hacer clic en la ventana flotante para mostrar el menú.
Adjunto está la dirección del proyecto github vue-floating-menu
El efecto es el siguiente:
< div @mousedown.stop.prevent =" moveStart " @click.stop.prevent =" toggleMenu " > </ div >
moveStart ( e ) {
// ... ...省略号... ...
// 具体可以在github项目里查看
document . onmousemove = async ( e ) => {
this . clickFlag = false ;
this . moveFlags = true ;
// ?在这里边处理拖拽时的位置更新,就是因为这个。
// 我之前是单独通过监听mousemove的方法,所以遇到了这个问题
} ;
document . onmouseup = ( ) => {
document . onmousemove = null ;
document . onmouseup = null ;
this . moveEnd ( ) ;
} ;
} ,
< div @mousedown.stop.prevent =" moveStart " @click.stop.prevent =" toggleMenu " > </ div >
toggleMenu ( ) {
// 如果上一次down事件到下一次click事件中 相同即为点击事件
if ( this . lastMoveIndex == this . curMoveIndex ) {
//?点击事件
}
this . curMoveIndex = this . lastMoveIndex ;
} ,
moveStart ( e ) {
// ... ...省略号... ...
// 具体可以在github项目里查看
document . onmousemove = async ( e ) => {
this . lastMoveIndex ++ ;
} ;
document . onmouseup = ( ) => {
document . onmousemove = null ;
document . onmouseup = null ;
this . moveEnd ( ) ;
} ;
} ,
Demostración ver aquí: https://vue-floating-menu.netlify.app
Si crees que vue-floating-menu es bueno, recuerda darle el visto bueno