Rumah > hujung hadapan web > tutorial js > Javascript mencapai kemahiran seret dan lepas effect_javascript yang sempurna

Javascript mencapai kemahiran seret dan lepas effect_javascript yang sempurna

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-05-16 16:00:50
asal
1356 orang telah melayarinya

Prinsip seret dan lepas

1 Dapatkan jarak (kedudukan tetikus - margin odiv)

2. Fahami bila hendak menggunakan acara onmousemove

3. Tentukan sama ada ia telah melepasi sempadan

kod html:

1

<div id="div1"></div>

Salin selepas log masuk

kod css:

1

#div1{width:100px;height:100px;background:red;position:absolute}

Salin selepas log masuk

kod javascript:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

window.onload=function(){

  var oDiv=document.getElementById("div1");

  var x=0;

  var y=0;

  oDiv.onmousedown=function(ev){

    var oEvent=ev||event;

    //鼠标的横坐标减去div的offsetLeft

    x=oEvent.clientX-oDiv.offsetLeft;

    //鼠标的纵坐标减去div的offsetTop

    y=oEvent.clientY-oDiv.offsetTop;

      

    document.onmousemove=function(ev){

      var oEvent=ev||event;  

      var left=oEvent.clientX-x;

      var right=oEvent.clientY-y;

      //判断左边是否过界

      if(left<0){

        left=0;

      }

      //判断右边是否过界

      else if(left>document.documentElement.clientWidth-oDiv.offsetWidth){

        left=document.documentElement.clientWidth-oDiv.offsetWidth;

      }

      //判断上边是否过界

      if(right<0){

        right=0;

      }

      //判断下边是否过界

      else if(right>document.documentElenment.clientHeight){

        right=document.documentElenment.clientHeight-oDiv.offsetHeight;

      }

      oDiv.style.left=left+"px";

      oDiv.style.top=right+"px";

    }  

    document.onmouseup=function(){

      //清空document的事件

      document.onmousemove=null;

      document.onmouseup=null;

    }

    //解决低版本火狐bug,干掉系统默认

    return false;

  }

}

Salin selepas log masuk

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan