Heim  >  Artikel  >  Web-Frontend  >  js steuert Keyframes

js steuert Keyframes

不言
不言Original
2018-04-10 13:32:502284Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Code zur Steuerung von Keyframes mit js. Freunde in Not können sich darauf beziehen


createKeyFramesStyleSheetRules() {  //创建一个单独的css文件存放动画                let style = null,
                    sheet = null,
                    token = null,
                    dist  = null,
                    len   = null,
                    rules = null;
                len = this.loopSlideObjs.length-1;                //计算移动到最后一张图片需要的距离 
                dist = this.loopContainer.totalHeight - this.loopSlideObjs[len].height;                // 创建css文件
                style = document.createElement('style');
                style.setAttribute('type', 'text/css');                document.head.appendChild(style);                // 判断是否是webkit浏览器内核
                token = window.WebKitCSSKeyframesRule? '-webkit-':'';                // 添加keyframes动画的样式
                rules = '@' + token + 'keyframes imagesLoopMove{from{transform: translate3d(0,0px,0);}to{transform: translate3d(0,-' + dist + 'px,0);}}';
                sheet = style.sheet;
                sheet.insertRule(rules, 0);                // 给轮播图片添加动态的样式
                rules = '.loop-animate{animation: imagesLoopMove ' + 200 + 'ms linear 0ms infinite;}';
                sheet.insertRule(rules, 1);                this.animateStyle = style;                this.cssRule = sheet.cssRules[1];                this.animateTimeCurve();                console.group('function createKeyFramesStyleSheetRules');                console.log('dist:', dist);                console.log('style:', style);                console.log('sheet:', sheet);                console.log('token:', token);                console.log('cssRule:', this.cssRule);                console.groupEnd('End');
                len   = null;
                dist  = null;
                style = null;
                sheet = null;
                token = null;
                rules = null;
            }


Hinweis: Wenn ein DOMExpersion-Fehler gemeldet wird, handelt es sich um einen Schreibfehler in Ihren CSS-Regeln, z. B. @keyframes fehlt ein Name usw.

createKeyFramesStyleSheetRules() {  //创建一个单独的css文件存放动画                let style = null,
                    sheet = null,
                    token = null,
                    dist  = null,
                    len   = null,
                    rules = null;
                len = this.loopSlideObjs.length-1;                //计算移动到最后一张图片需要的距离 
                dist = this.loopContainer.totalHeight - this.loopSlideObjs[len].height;                // 创建css文件
                style = document.createElement('style');
                style.setAttribute('type', 'text/css');                document.head.appendChild(style);                // 判断是否是webkit浏览器内核
                token = window.WebKitCSSKeyframesRule? '-webkit-':'';                // 添加keyframes动画的样式
                rules = '@' + token + 'keyframes imagesLoopMove{from{transform: translate3d(0,0px,0);}to{transform: translate3d(0,-' + dist + 'px,0);}}';
                sheet = style.sheet;
                sheet.insertRule(rules, 0);                // 给轮播图片添加动态的样式
                rules = '.loop-animate{animation: imagesLoopMove ' + 200 + 'ms linear 0ms infinite;}';
                sheet.insertRule(rules, 1);                this.animateStyle = style;                this.cssRule = sheet.cssRules[1];                this.animateTimeCurve();                console.group('function createKeyFramesStyleSheetRules');                console.log('dist:', dist);                console.log('style:', style);                console.log('sheet:', sheet);                console.log('token:', token);                console.log('cssRule:', this.cssRule);                console.groupEnd('End');
                len   = null;
                dist  = null;
                style = null;
                sheet = null;
                token = null;
                rules = null;
            }

Hinweis: Wenn ein DOMExpersion-Fehler gemeldet wird, dann Es handelt sich um einen Schreibfehler in Ihren cssRules, zum Beispiel fehlt @keyframes ein Name usw.

Verwandte Empfehlungen:

10 empfohlene Artikel über Keyframes



Das obige ist der detaillierte Inhalt vonjs steuert Keyframes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:js-undefinierte TypbeurteilungNächster Artikel:js-undefinierte Typbeurteilung