【发布时间】:2016-10-22 00:08:13
【问题描述】:
我一直在尝试获得平滑的滚动动画,但主要是在 JS 中。 这并没有那么好,所以我决定尝试使用 CSS3。 现在我想通过调用一个 JS 函数来使这个动画响应,该函数为动画添加 CSS 规则以响应动画所针对的对象。这是到目前为止我得到的 JS 代码。我也会留下一个小提琴,但我是新手,所以事情可能不会马上奏效。
function getTexts() {
var element = document.getElementsByClassName('toplink');
for (x = 0, len = element.length; x < len; x++){
var ID = element[x].textContent.toLowerCase();
var object = document.getElementById(ID);
console.log(object);
addCSSAnimator(ID);
}
}
function addCSSAnimator(el) {
var sheet = document.styleSheets[0];
var DOM = document.getElementById(el);
var Class = DOM.getAttribute("class");
var Parent = DOM.parentElement.getAttribute("id");
var rect = DOM.getBoundingClientRect();
var rule = ".toplink[ id= '"+el+"' ]:target - #"+Parent+" div."+Class+" {\n" +
"-webkit-transform: translateY( +"+rect.y.toPrecision(4)+'px'+" );\n" +
"transform: translateY( +"+rect.y.toPrecision(4)+'px'+" );\n" +
"}";
console.log("Stylesheet: ",sheet," object: ",DOM," Class: ",Class," offset X&Y:",rect.x," ",rect.y);
console.log(rule);
sheet.insertRule("body { background-color: 0; }", 1);
}
【问题讨论】:
标签: javascript css animation