이 문서의 내용은 js로 키프레임을 제어하는 코드에 관한 것입니다. 필요한 친구는 이를 참조할 수 있습니다.
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; }
DOMExpersion 오류가 보고되면 CSSRules의 쓰기 오류입니다. , 예를 들어 @keyframes에 이름이 누락된 경우 등이 있습니다.
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; }
DOMExpersion 오류를 보고하는 경우 @keyframes에 이름이 누락된 경우와 같이 cssRules에 쓰기 오류가 있다는 점에 유의하세요.
관련 권장 사항:
위 내용은 js 제어 키프레임의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!