用vue怎么让自动上下移动的按钮在鼠标覆盖在上面的时后停止移动,鼠标移开之后继续移动
浏览器先询问b,b允许a访问
access-control-allow-origin
access-control-max-age
PHP端修改header:
header('Access-Control-Allow-Origin:*');//允许所有来源访问
header('Access-Control-Allow-Method:POST,GET');//允许访问的方式
对于这个问题,我们可以通过以下步骤来实现在鼠标覆盖时停止自动上下移动的按钮,并在鼠标移开后继续移动:
1.首先在按钮的样式中添加两个关键帧,一个为按钮普通状态,一个为按钮鼠标悬停状态,悬停状态时停止按钮的移动。
2.在Vue中给按钮添加鼠标事件,鼠标移入时获取按钮的所有样式属性,将动画属性清空并修改为悬停状态的关键帧属性,鼠标移出时将按钮的样式属性还原为移动状态的关键帧属性,重新添加动画属性。
代码如下:
HTML:
<!--按钮-->
<div id="btn" @mouseover="pauseAnim" @mouseout="resumeAnim">
<span>按钮</span>
</div>
CSS:
/* 按钮 */
#btn {
display: inline-block;
padding: 10px;
background-color: #007aff;
color: #fff;
position: relative;
animation: btnMove 2s infinite linear;
}
/* 动画 */
@keyframes btnMove {
0% { top: 0; }
50% { top: 100px; }
100% { top: 0; }
}
/* 悬停状态 */
#btn:hover {
animation-play-state: paused;
}
JS:
// Vue 实例
new Vue({
el: '#app',
methods: {
// 暂停按钮动画
pauseAnim: function () {
var btn = document.getElementById('btn');
var btnStyle = window.getComputedStyle(btn); // 获取样式属性
// 将动画属性清空
btn.style.animation = '';
btn.style['-webkit-animation'] = '';
btn.style['-moz-animation'] = '';
btn.style['-o-animation'] = '';
btn.style['-ms-animation'] = '';
// 修改为悬停状态的关键帧属性
btn.style.top = btnStyle.top;
},
// 恢复按钮动画
resumeAnim: function () {
var btn = document.getElementById('btn');
var btnStyle = window.getComputedStyle(btn); // 获取样式属性
// 还原移动状态的关键帧属性
btn.style.top = '0';
// 重新添加动画属性
btn.style.animation = 'btnMove 2s infinite linear';
btn.style['-webkit-animation'] = 'btnMove 2s infinite linear';
btn.style['-moz-animation'] = 'btnMove 2s infinite linear';
btn.style['-o-animation'] = 'btnMove 2s infinite linear';
btn.style['-ms-animation'] = 'btnMove 2s infinite linear';
}
})
在这个解决方案中,我们使用了CSS的动画属性和关键帧来控制按钮的移动。当鼠标移入按钮时,我们使用JavaScript获取按钮的所有样式属性,将动画属性清空并修改为悬停状态的关键帧属性,鼠标移出时将按钮的样式属性还原为移动状态的关键帧属性,并重新添加动画属性。
你的按钮运动应该是通过事件或者css控制的。
@mouseover与@mouseout这两个事件对应的是鼠标移入和移入,加在你的按钮上就行了,触发移入就停止你的运动,触发移出再恢复的你的移动。看不到你的代码,思路反正是这样的
监听下按钮hover事件