Bahan Sudut - Alihkan elemen ke lokasi baharu
P粉121081658
P粉121081658 2023-09-01 09:12:46
0
1
501
<p>Saya memerlukan bantuan dengan seret dan lepas bahan Sudut</p> <p>Ideanya ialah saya boleh menggerakkan blok hitam pada skrin di sepanjang paksi Y, untuk ini saya menggunakan seret dan lepas Bahan Sudut, untuk ini saya mempunyai 3 kaedah onDragMoved, onDragStart, onDragEnd. Apabila saya melepaskan tetikus saya akan menambah 100px pada ketinggian dan apabila saya ingin mula mengalihkan blok untuk kali kedua ia harus mula bergerak dari tempat ia berhenti kali terakhir tetapi ini tidak berlaku, atas sebab tertentu kedutan berlaku < /p> <p>Video berkenaan - https://dropmefiles.com/0XFU6</p> <pre class="brush:php;toolbar:false;">onDragMoved(acara: CdkDragMove) { console.log('движемся') console.log(event) console.log('neeeew coord', this.qwwqwqw) // if(this.qwwqwqw != null && event != null) { // event.distance.y = this.qwwqwqw // event.pointerPosition.y = this.qwwqwqw // this.qwwqwqw = null; // } } onDragStart(acara: CdkDragMove) { console.log('Кнопка мыши зажата'); console.log(event.distance) } onDragEnd(acara: CdkDragMove) { console.log('Кнопка мыши отпущена'); console.log(event) const y = event.distance.y + 100; elemen const = event.source.element.nativeElement; element.style.transform = `translate3d(0, ${y}px, 0)`; // CSS-трансформации element.style.height = this.originalHeight + 'px'; // восстанавливаем исходную высоту блока peristiwa.jarak.y = y; ini.qwwqwqw = y; }</pre> <pre class="brush:php;toolbar:false;"><div class="example-box" cdkDragLockAxis="y" cdkDragMoved)="onDragMoved($event)" )="onDragStart($event)" (cdkDragEnded)="onDragEnd($event)"> Координаты: {{ posX }}, {{ posY }} </div></pre> <p>[Masukkan penerangan imej di sini](https://i.stack.imgur.com/RmWP2.png)</p> <p>Saya cuba menyahpepijat, saya menghantar koordinat baharu kepada kaedah onDragMoved, tetapi dalam kejadian kedua, ia telah dikemas kini kepada beberapa koordinat rawak</p>
P粉121081658
P粉121081658

membalas semua(1)
P粉391955763

Gunakan atribut [cdkDragFreeDragPosition]

HTML:

<div class="example-box" cdkDragLockAxis="y" cdkDrag [cdkDragFreeDragPosition]="dragPosition" (cdkDragEnded)="onDragEnd($event)">
    Координаты: {{ posX }}, {{ posY }}
</div>

TS:

dragPosition = { x: 0, y: 0 };

onDragEnd(event: CdkDragMove) {
    this.dragPosition = { x: event.distance.x, y: event.distance.y + 100 }
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan