svnno****@sourc*****
svnno****@sourc*****
2011年 2月 24日 (木) 23:35:15 JST
Revision: 2430 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2430 Author: dhrname Date: 2011-02-24 23:35:15 +0900 (Thu, 24 Feb 2011) Log Message: ----------- animate要素のcalcMode属性において、discreteモードで起きるバグを修正 Modified Paths: -------------- branches/07x/071/org/w3c/dom/svg.js Modified: branches/07x/071/org/w3c/dom/svg.js =================================================================== --- branches/07x/071/org/w3c/dom/svg.js 2011-02-24 13:37:15 UTC (rev 2429) +++ branches/07x/071/org/w3c/dom/svg.js 2011-02-24 14:35:15 UTC (rev 2430) @@ -4910,6 +4910,7 @@ vir.setAttributeNS(null, attrName, tav[i]); tar._valueList[tar._valueList.length] = vir[attrName].baseVal; } + console.log(tvli-1); } else if (!!CSS2Properties[attrName] || attrName.indexOf("-") > -1) { //スタイルシートのプロパティならば for (var i=0, tav=tar._values, tvli=tav.length;i<tvli;++i) { tar._valueList[i] = parseFloat(tav[i]); @@ -4944,6 +4945,9 @@ tar._frame = function() { var d = tar.getSimpleDuration() * 0.8, n = tar._valueList.length-1, tg = tar.getCurrentTime(); if ((n !== -1) && (d !== 0) && (tg <= d)) { + if (tar._isDiscrete) { + ++n; //discreteモードは他のモードに比べて、分割数が多いことに注意 + } var ii = Math.floor((tg*n) / d); if (ii === n) { //iiが境い目のときは、n-2を適用 ii -= 1;