먼저 이전 모션 코드를 살펴보고 다중 객체 모션을 지원하는지, 어떤 문제가 발생할 수 있는지 살펴보겠습니다. 코드 복사 코드는 다음과 같습니다. <br> div {<br> 너비: 100px;<br> 높이: 50px;<br> 배경: 빨간색;<br> 여백: 10px;<br> }<br> > <br> </div> <p></p> <div class="codetitle"><span><a style="CURSOR: pointer" data="48754" class="copybut" id="copybut48754" onclick="doCopy('code48754')">코드 복사<u></u></a> 코드는 다음과 같습니다.</span></div> <div class="codebody" id="code48754"> <br> > > > </본문><br> <br><br> <br>다음은 Javascript 코드입니다. <br> </div> <p></p> <p>코드 복사</p> <div class="codetitle"><span><a style="CURSOR: pointer" data="26727" class="copybut" id="copybut26727" onclick="doCopy('code26727')"> 코드는 다음과 같습니다.<u><div class="codebody" id="code26727"> <br> <script type="text/javascript"><br> window.onload = function() {<br> var aDiv = document.getElementsByTagName('div');<br> for (var i = 0; i < aDiv.length; i ) {<br> aDiv[i].onmouseover = function() {<br> startMove(this, 400);<br> };<br> aDiv[i].onmouseout = function() {<br> startMove(this, 100);<br> };<br> }<br> }<br> var 타이머 = null;<br> 함수 startMove(obj, iTarget) {<br> ClearInterval(타이머);<br> 타이머 = setInterval(function() {<br> var 속도 = (iTarget - obj.offsetWidth) / 6;<br> 속도 = 속도 > 0? Math.ceil(속도) : Math.floor(속도);<br> if (obj.offsetWidth == iTarget) {<br> ClearInterval(타이머);<br> } 그 밖의 {<br> obj.style.width = obj.offsetWidth 속도 'px';<br> }<br> }, 30);<br> }<br> <br> </div> </u><p>此时当鼠标移入到第一个div 时,他是正常运行的.现bug。</p> <p>이미지 这个是什么原因呢? 看图可以看流并没有运动完成。实际上是这样的,</p> 그게 정말 큰 의미가 있나요? <p> </p> <p>解决方案:<strong></strong> </p>其实很简单, 把实很简单, 把 정 时 器 为 一 个 물 체성 의 성 加 上, 那 么 每 个 물 体 时 器 에서 当关 闭 정 时器 의 时候 是 闭 罓上당신의 결정, 자산의 결정 <p> </p>더 나은 여행은 불가능합니다.<p> </p>看下修改后的Javascript代码:<p> </p> <p></p> <div class="codetitle"> <span><a style="CURSOR: pointer" data="66248" class="copybut" id="copybut66248" onclick="doCopy('code66248')">复主代码<u></u></a> 代码如下:</span><div class="codebody" id="code66248"> <br> <script type="text/javascript"><br> window.onload = function() {<br> var aDiv = document.getElementsByTagName('div');<br> for (var i = 0; i < aDiv.length; i ) {<br> aDiv[i].timer=null; // 타이머를 개체의 속성으로 저장 <br> aDiv[i].onmouseover = function() {<br> StartMove(this, 400);<br> };<br> aDiv[i].onmouseout = function() {<br> StartMove(this, 100);<br> };<br> }<br> }<br> 기능 startMove(obj, iTarget) {<br> 클리어 간격(obj.timer) <br> obj.timer = setInterval(function() {<br> var 속도 = (iTarget - obj.offsetWidth) / 6;<br> 속도 = 속도 > 0 ? Math.ceil(속도) : Math.floor(속도);<br> If (obj.offsetWidth == iTarget) {<br> ~ ~ } else {<br> Obj.style.width = obj.offsetWidth 속도 'PX' <br> }<br> }, 30);<br> }<br> > <br><br> </div>이렇게 하면 프로그램에 문제가 없으며 여러 개체의 이동을 지원할 수 있습니다. </div></a></span></div>