Contoh dalam artikel ini menerangkan kaedah menentukan perlanggaran dalam JS. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:
Kaedah perlanggaran JS:
/**Tentukan sama ada terdapat perlanggaran
* @param obj objek asal
* @param dobj objek sasaran
,*/
impak fungsi(obj, dobj) {
var o = {
x: getDefaultStyle(obj, 'kiri'),
y: getDefaultStyle(obj, 'atas'),
w: getDefaultStyle(obj, 'width'),
h: getDefaultStyle(obj, 'height')
}
var d = {
x: getDefaultStyle(dobj, 'kiri'),
y: getDefaultStyle(dobj, 'atas'),
w: getDefaultStyle(dobj, 'width'),
h: getDefaultStyle(dobj, 'height')
}
var px, py;
px = o.x <= d.x ? d.x : o.x;
py = o.y <= d.y ? d.y : o.y;
// Tentukan sama ada titik berada dalam kedua-dua objek
jika (px >= o.x && px <= o.x o.w && py >= o.y && py <= o.y o.h && px >= d.x && px <= d.x d.w && py >= d.y && py < = d.y d.h) {
kembali benar;
} lain {
kembali palsu;
}
}
/**Dapatkan sifat objek
* @param obj Objek
* Atribut atribut @param
,*/
fungsi getDefaultStyle(obj, atribut) {
Kembalikan parseInt(obj.currentStyle ? obj.currentStyle[attribute] : document.defaultView.getComputedStyle(obj, false)[attribute]);
}
Contohnya adalah seperti berikut:
Salin kod
Kod adalah seperti berikut: