js怎么实现鼠标经过一个div,div自动向右边平滑缓慢的移动50px

不要jquery

(function($) {

$.fn.huadong = function( obj, obja, time ) {

this.height($(window).height()).css({'position':'absolute', 'top':'0px', 'left' : '0px'}); //首先把最外层的标签对象设置为浮动, 上边为0, 左边也为0

var left = $(obj).width(); //取得左边栏的宽度

$(obj).height($(window).height()).width(0).hide(); //将左边栏的高度设置为浏览器的高度, 宽度为0, 并隐藏掉!这样是为了页面载入的时候初始化

$(obja).click(function(){ //给触发按钮绑定点击事件,也就是鼠标点击触发按钮后执行的动作

$(obj).show().animate({'width':left + 'px'}, time); //把左边栏的宽度设置为原来的宽度并显示出来, 根据设定的时间慢慢展现

});

$(obj).mouseout(function(){ //绑定左边栏鼠标移开事件

$(this).animate({'width':'0px'}, time, function(){ $(this).hide(); }); //又把左边栏的宽度设置为0, 并且隐藏

});

}

})(jQuery);
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-04
搜索--智能社 里边的javascript视频教程,里边有个运动框架,是你需要的东西
可以简单说下原理给你就是(div的地点-目的地点)/一个整数
整数是用来使你运动更平滑的,思考下!!追问

。。。。智能社的视频没标题的,只有序号,请问你说的是哪个视频?

本回答被提问者采纳
第2个回答  2014-01-19
<div onmouseover=“javascript:aa()”>
aa() 是处理div移动的js函数

var left = document.getElementById("div1").style.left;获取当前div距离左边的位置追问

我是想知道怎么让它平滑的向右边去,知道要用setTimeouth和setInterval, 就是具体不知道怎么写

第3个回答  2014-01-20
JQuery实现很容易
第4个回答  2014-01-20
css3可以搞定
<div class="aa"> <ul> <li class="a1">linear:平滑过渡。</li>
</ul>
</div>

<style>
.aa{ width:220px;}.aa ul li{ position:relative;left:8px;width:220px;margin:1px 5px;padding:10px;border:1px solid #ddd;background-color:#eee;color:#000; -moz-transition-property:left; -moz-transition-duration:.5s; -webkit-transition-property:left; -webkit-transition-duration:.5s; -o-transition-property:left; -o-transition-duration:.5s; transition-property:left; transition-duration:.5s; list-style:none;
}
.aa ul li:hover{left:50px;}.aa ul li:nth-child(2){-moz-transition-timing-function:ease;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;}
</style>

希望对你有所帮助
相似回答