Rumah hujung hadapan web Soal Jawab bahagian hadapan jquery meninggalkan slaid untuk dipadam

jquery meninggalkan slaid untuk dipadam

May 14, 2023 am 09:19 AM

Dalam pembangunan aplikasi web moden, reka bentuk interaksi selalunya merupakan bahagian yang penting. Salah satu penentu pengalaman pengguna yang baik ialah bentuk interaksi yang sesuai.

Antaranya, Leret-untuk-Padam digunakan secara meluas untuk memadam elemen seperti item senarai atau kad. Contohnya, memadamkan e-mel dalam aplikasi mel, atau memadam kemas kini dalam aplikasi rangkaian sosial, dsb.

Dalam pembangunan web tradisional, melaksanakan pemadaman leret ke kiri biasanya memerlukan banyak pemprosesan manual operasi DOM dan kawalan gaya. Tetapi kini, pustaka acara dan animasi yang disediakan oleh jQuery telah sangat memudahkan dan memperkayakan cara untuk melaksanakan leret ke kiri untuk memadam.

Seterusnya, kami akan menggunakan jQuery untuk melaksanakan kesan pemadaman leret kiri yang mudah.

  1. Mencapai interaksi asas

Pertama, dalam halaman HTML, kita perlu menentukan elemen bekas yang mengandungi item senarai dan menambah elemen blok yang mengandungi butang padam padanya . Ikon padam yang disediakan oleh perpustakaan ikon fon FontAwesome digunakan di sini dan beberapa gaya asas perlu ditambahkan pada butang padam:

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

<div class="list-item">

    <span>这是一个列表项</span>

    <div class="delete"> <i class="fa fa-trash"></i> </div>

</div>

 

<style>

    .list-item {

        height: 50px;

        line-height: 50px;

        background-color: #fff;

        overflow: hidden;

        position: relative;

    }

    .delete {

        width: 50px;

        height: 50px;

        position: absolute;

        top: 0;

        right: -50px;

        background-color: #f00;

        color: #fff;

        text-align: center;

        cursor: pointer;

        transition: all 0.3s ease;

    }

</style>

Salin selepas log masuk

Kod di atas mentakrifkan bekas item senarai dengan ketinggian 50 piksel, yang mengandungi elemen span (digunakan untuk memaparkan kandungan item senarai) dan elemen butang padam. Elemen bekas mempunyai set overflow:hidden atribut untuk menyembunyikan elemen butang padam. Elemen butang padam ditetapkan dengan kedudukan mutlak dan offset negatif di sebelah kanan untuk mencapai kesan animasi apabila meluncur ke kiri untuk memadam.

Seterusnya, tambahkan pemantauan acara sentuhan tetikus jQuery untuk elemen butang padam untuk mengendalikan logik pemadaman leret ke kiri. Disebabkan oleh pelaksanaan pemadaman leret kiri, pada asasnya jarak pergerakan tetikus menyebabkan kedudukan butang padam berubah, jadi peristiwa pergerakan tetikus perlu dipantau.

1

2

3

4

5

6

7

8

9

$(document).on("mousemove swipeleft",".list-item",function(e){

    var $delete = $(this).find('.delete');

    var left = e.pageX - $(this).offset().left;  

    if (left > $(this).width()/2) {

        $delete.css('right', 0);

    } else {

        $delete.css('right', '-50px');

    }

});

Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah on() jQuery untuk mendengar pergerakan tetikus dan peristiwa sentuhan (peristiwa slaid kiri). Kemudian dapatkan jarak tetikus berbanding sebelah kiri elemen, dan tentukan kedudukan butang padam berdasarkan separuh lebar elemen: jika jarak pergerakan tetikus melebihi separuh lebar elemen, animasi offset kanan daripada elemen butang padam beralih kepada 0, sebaliknya ke kanan Animasi mengimbangi beralih kepada -50px untuk meluncur butang padam ke dalam elemen.

  1. Tambah operasi pemadaman

Selepas memproses interaksi leret kiri untuk memadam, anda juga perlu mempertimbangkan cara melaksanakan logik operasi pemadaman. Cara mudah untuk mencapai ini adalah dengan menggunakan kaedah remove() jQuery untuk memadam elemen. Pelaksanaan di sini adalah untuk menambah pendengar acara klik selepas slaid yang betul untuk dipadam dicetuskan, di mana elemen dialih keluar daripada pepohon DOM dengan memanggil kaedah remove().

1

2

3

4

$(document).on("click",".delete",function(e){

    e.stopPropagation();

    $(this).parent().remove();

});

Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah stopPropagation() jQuery untuk menghalang peristiwa klik daripada menggelegak ke elemen induk dan menjejaskan pemantauan pemadaman leret ke kiri.

  1. Kod lengkap

Akhir sekali, dengan menggabungkan dua bahagian kod di atas, kita boleh mendapatkan kod pelaksanaan pemadaman slaid kiri jQuery yang lengkap.

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

44

45

46

<div class="list-item">

    <span>这是一个列表项</span>

    <div class="delete">

        <i class="fa fa-trash"></i>

    </div>

</div>

 

<style>

    .list-item {

        height: 50px;

        line-height: 50px;

        background-color: #fff;

        overflow: hidden;

        position: relative;

    }

    .delete {

        width: 50px;

        height: 50px;

        position: absolute;

        top: 0;

        right: -50px;

        background-color: #f00;

        color: #fff;

        text-align: center;

        cursor: pointer;

        transition: all 0.3s ease;

    }

</style>

 

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

<script>

    $(document).on("mousemove swipeleft",".list-item",function(e){

        var $delete = $(this).find('.delete');

        var left = e.pageX - $(this).offset().left;  

        if (left > $(this).width()/2) {

            $delete.css('right', 0);

        } else {

            $delete.css('right', '-50px');

        }

    });

 

    $(document).on("click",".delete",function(e){

        e.stopPropagation();

        $(this).parent().remove();

    });

</script>

Salin selepas log masuk

Kod ini hanyalah contoh mudah pemadaman leret kiri jQuery Ia tidak termasuk pemprosesan terperinci dan pengoptimuman kesesuaian Pembaca boleh membuat pengubahsuaian dan sambungan yang sesuai mengikut keperluan mereka sendiri.

Atas ialah kandungan terperinci jquery meninggalkan slaid untuk dipadam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apa itu useeffect? Bagaimana anda menggunakannya untuk melakukan kesan sampingan? Apa itu useeffect? Bagaimana anda menggunakannya untuk melakukan kesan sampingan? Mar 19, 2025 pm 03:58 PM

Apa itu useeffect? Bagaimana anda menggunakannya untuk melakukan kesan sampingan?

Terangkan konsep pemuatan malas. Terangkan konsep pemuatan malas. Mar 13, 2025 pm 07:47 PM

Terangkan konsep pemuatan malas.

Bagaimanakah kari bekerja di JavaScript, dan apakah faedahnya? Bagaimanakah kari bekerja di JavaScript, dan apakah faedahnya? Mar 18, 2025 pm 01:45 PM

Bagaimanakah kari bekerja di JavaScript, dan apakah faedahnya?

Apakah fungsi pesanan yang lebih tinggi dalam JavaScript, dan bagaimana mereka boleh digunakan untuk menulis lebih banyak kod ringkas dan boleh diguna semula? Apakah fungsi pesanan yang lebih tinggi dalam JavaScript, dan bagaimana mereka boleh digunakan untuk menulis lebih banyak kod ringkas dan boleh diguna semula? Mar 18, 2025 pm 01:44 PM

Apakah fungsi pesanan yang lebih tinggi dalam JavaScript, dan bagaimana mereka boleh digunakan untuk menulis lebih banyak kod ringkas dan boleh diguna semula?

Bagaimanakah algoritma Rekonsiliasi React berfungsi? Bagaimanakah algoritma Rekonsiliasi React berfungsi? Mar 18, 2025 pm 01:58 PM

Bagaimanakah algoritma Rekonsiliasi React berfungsi?

Apakah useContext? Bagaimana anda menggunakannya untuk berkongsi keadaan antara komponen? Apakah useContext? Bagaimana anda menggunakannya untuk berkongsi keadaan antara komponen? Mar 19, 2025 pm 03:59 PM

Apakah useContext? Bagaimana anda menggunakannya untuk berkongsi keadaan antara komponen?

Bagaimana anda mengelakkan tingkah laku lalai di pengendali acara? Bagaimana anda mengelakkan tingkah laku lalai di pengendali acara? Mar 19, 2025 pm 04:10 PM

Bagaimana anda mengelakkan tingkah laku lalai di pengendali acara?

Apakah kelebihan dan kekurangan komponen terkawal dan tidak terkawal? Apakah kelebihan dan kekurangan komponen terkawal dan tidak terkawal? Mar 19, 2025 pm 04:16 PM

Apakah kelebihan dan kekurangan komponen terkawal dan tidak terkawal?

See all articles