JavaScript拖拽圖片二

來源:互聯網
上載者:User

前一篇的功能已經正常,代碼很少,很簡單。但是還有不少錯誤。用jslint掃描了一下,有下列錯誤:

1.window變數要用注釋說明,嚴格來說這不是錯誤,是jslint的問題

2.parseInt第二個參數必須指定10,代表10進位

3.parsetInt裡面的dragObj應該是window.dragObj

4.init函數應該放在最後,因為它用到的幾個函數要在前面定義

5.使用use strict語句嚴格檢查

6.多了兩個空格

再開啟Chrome的偵錯模式(F12),看到很多error在mouseMove中,原來init函數裡面忘記初始化對象為null了。

加上後錯誤消失。

好,現在代碼漂亮多了。

/*global window */function mouseDown(e) {'use strict';window.dragObj = e.currentTarget;if (window.dragObj !== null) {window.clickLeft = window.event.x - parseInt(window.dragObj.style.left, 10);window.clickTop = window.event.y - parseInt(window.dragObj.style.top, 10);window.dragObj.style.zIndex += 1;}}function mouseStop() {'use strict';window.event.returnValue = false;}function mouseMove() {'use strict';if (window.dragObj !== null) {window.dragObj.style.left = window.event.x - window.clickLeft;                window.dragObj.style.top = window.event.y - window.clickTop;}}function mouseUp() {'use strict';window.dragObj = null;}function init() {'use strict';        window.dragObj = null;window.document.onmousemove = mouseMove;window.document.onmouseup = mouseUp;window.document.ondragstart = mouseStop;}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.