javascript - Sekeping kod tentang iscroll, saya harap seseorang boleh menerangkannya
世界只因有你
世界只因有你 2017-05-16 13:34:55
0
1
625

Tujuan if (el instanceof SVGElement) di sini mestilah ujian keupayaan, tetapi saya mendapati bahawa untuk elemen masuk el, sama ada terdapat SVGElement pada rantai prototaipnya nampaknya tidak ada kaitan dengan sama ada ia mempunyai getBoundingClientRect, bukan? Walaupun tiada SVGElement dalam rantaian prototaip sesuatu elemen, ia masih mempunyai kaedah getBoundingClientRect Jadi apakah maksud penulisan di sini?

    me.getRect = function(el) {

        if (el instanceof SVGElement) {
            var rect = el.getBoundingClientRect();
            return {
                top : rect.top,
                left : rect.left,
                width : rect.width,
                height : rect.height
            };
        } else {
            
            return {
                top : el.offsetTop,
                left : el.offsetLeft,
                width : el.offsetWidth,
                height : el.offsetHeight
            };
        }
    };

Terima kasih!

CRIMX

berasas dan meyakinkan!

世界只因有你
世界只因有你

membalas semua(1)
伊谢尔伦
  1. SVGElement - Sifat offsetParent, offsetTop, offsetLeft, offsetWidth dan offsetHeight ditamatkan dalam Chrome 48.

  2. Sifat offsetLeft dan offsetTop elemen SVG sentiasa mengembalikan 'tidak ditentukan'.

Sebab

tidak digunakan untuk HTMLElement mungkin disebabkan oleh fakta bahawa getBoundingClientRect lebih perlahan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!