亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

鼠標放上DIV,里面的圖片左移20px,鼠標放開后,圖片恢復不了原位的原因

鼠標放上DIV,里面的圖片左移20px,鼠標放開后,圖片恢復不了原位的原因

rainy_li3676598 2016-11-25 14:23:13
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>無標題文檔</title><style>* { margin:0; padding:0;}#div1 { width:200px; height:200px; background:#0066CC; margin-left:100px; position:relative;}img { position:absolute; left:100px;}</style><script>window.onload=function (){div1=document.getElementById("div1");img1=document.getElementById("img1");div1.onmouseover=function() {startmove(img1,"left",-20);}div1.onmouseout=function(){startmove(img1,"left",20);}}function startmove(obj,attr,num){var timer;clearInterval(obj.timer);var a=0,speed;num>0?speed=1:speed=-1;obj.timer=setInterval(function(){if(a==num) {clearInterval(timer);}else{obj.style[attr]= parseInt(getStyle(obj,attr))+speed+"px"; a=a+speed;?}},20);}function getStyle(obj,attr){if(obj.currentStyle){? ?return obj.currentStyle[attr];}else{ return getComputedStyle(obj,false)[attr];}}</script></head><body><div id="div1">?<h1>插入圖片</h1><img id="img1" src="pic5.gif" /></div></body></html>想實現的效果:鼠標放上DIV,里面的圖片左移20px,鼠標放開后,圖片回復到開始的位置?,F在的問題是,如果鼠標迅速滑過會出現img1回開始位置 的時候跑出DIV的問題,鼠標如果在DIV內停久一點就正常)原因我知道, 是 a 還沒有到20的時候, 就鼠標滑開導致的, 問題是要怎么解呢?
查看完整描述

4 回答

?
stone310

TA貢獻361條經驗 獲得超191個贊

onmouseover改成onmouseenter;

onmouseout改成onmouseleave;

前者會冒泡,你這圖片超出了div,移動到圖片外的div上時也會再次執行;

后者不會冒泡,移動到圖片外的div上時不會再次執行

查看完整回答
反對 回復 2016-11-27
  • rainy_li3676598
    rainy_li3676598
    我的整個程序只有一個DIV, 并且, 如果是鼠標正常速度放上去, 就是正常的效果, 只是當鼠標快速滑過的時候,才會出現這樣的情況,所以不會是事件冒泡的原因
  • 4 回答
  • 1 關注
  • 3110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號