消息关闭
    暂无新消息!
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>鼠标移入移出定时移动效果</title>
  <style>
    *{margin:0;padding:0;}
    #aa{width:200px;height:200px;background:red;position:relative;left:-200px;top:0;}
    #aa span{width:20px;height:50px;background:blue;position:absolute;left:200px;top:75px;color:#fff;}
  </style>
 </head>
 <body>
   
<div id="aa"><span>分享</span></div>

<script>
var aa = document.getElementById("aa");
var time = null;
aa.onmouseenter=function(){
clearInterval(time);
time=setInterval(function(){
if(aa.offsetLeft==0){
clearInterval(time);
}else{
aa.style.left=aa.offsetLeft+10+"px";
}
},20);
};


aa.onmouseleave=function(){
clearInterval(time);
time = setInterval(function(){
if(aa.offsetLeft==-200){
clearInterval(time);
}else{
aa.style.left=aa.offsetLeft-10+"px";
}
},20);

}
</script>
 </body>
</html>


上面那两个鼠标移入 移出事件的函数,想保留一个   通过函数传参的方式去调用,请问如何做

4个回答

︿ 2
aa.onmouseenter=aa.onmouseout=function(e){
   var type=e.type;
   if(type=='mouseenter'){//...}else{//...}
}
试试
︿ 1

        function MEevent(offset,step,delay) {
            clearInterval(time);
            time = setInterval(function () {
                if (aa.offsetLeft == offset) {
                    clearInterval(time);
                } else {
                    aa.style.left = aa.offsetLeft + step + "px";
                }
            }, delay);
        }
        var aa = document.getElementById("aa");
        var time = null;
        aa.onmouseenter = aa.onmouseleave = function (e) {
            var enter = (e || window.event).type == 'mouseenter';
            MEevent(enter ? 0 : -200, enter ? 10 : -10, 20);
        }


Web开发学习资料推荐
jqGrid单元格编辑配置,事件及方法
︿ 0
不是啊。我就是想要类似这样的

<script>
    var aa = document.getElementById("aa");
    var time = null;
    aa.onmouseenter=function(a,b){
        clearInterval(time);
        time=setInterval(function(){
            if(aa.offsetLeft==0){
                clearInterval(time);
            }else{
            aa.style.left=aa.offsetLeft+10+"px";
            }
        },20);
    };

</script>

只保留一个 然后去调用函数 传数值进去
︿ 0

var aa = document.getElementById("aa");
var time = null;
function animate(a,b){
clearInterval(time);
time=setInterval(function(){
if(aa.offsetLeft==a){
clearInterval(time);
}else{
aa.style.left=aa.offsetLeft+b+"px";
}
},20);
};
aa.onmouseenter=animate.bind(null,0,10);
aa.onmouseleave=animate.bind(null,-200,-10);