ブラウザでSVGを表示するSIEの開発 (SIE - to display SVG on legacy browsers)
| リビジョン | 910d8350271a9dc23ef6432eafd3105bc5e5350b (tree) |
|---|---|
| 日時 | 2015-11-02 23:08:07 |
| 作者 | dhrname <dhrname@user...> |
| コミッター | dhrname |
Lighten a beginElement method
| @@ -849,27 +849,21 @@ base("$calcMode").up("$attribute").mix( { | ||
| 849 | 849 | } ).parse(); |
| 850 | 850 | frame.$activate.end.$begin = frame; |
| 851 | 851 | /*beginElementメソッドを追加*/ |
| 852 | - ele.beginElement = (frame.string !== "indefinite") ? function(){} | |
| 852 | + function eleMethod (obj, eventName) { | |
| 853 | + return (obj.string !== "indefinite") ? function(){} | |
| 853 | 854 | : function() { |
| 854 | - frame.listener( { | |
| 855 | + obj.listener( { | |
| 855 | 856 | /*アニメーションの開始をこのメソッドが呼ばれた時点とする*/ |
| 856 | 857 | timeStamp: Date.now() |
| 857 | 858 | } ); |
| 858 | 859 | var evt = this.ownerDocument.createEvent("MouseEvents"); |
| 859 | - evt.initMouseEvent("beginEvent" ,true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, this); | |
| 860 | + evt.initMouseEvent(eventName + "Event" ,true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, this); | |
| 860 | 861 | this.dispatchEvent(evt); |
| 861 | 862 | }; |
| 863 | + }; | |
| 864 | + ele.beginElement = eleMethod(frame, "begin"); | |
| 862 | 865 | /*endElementメソッドを追加*/ |
| 863 | - ele.endElement = (frame.$activate.end.string !== "indefinite") ? function(){} | |
| 864 | - : function() { | |
| 865 | - frame.$activate.end.listener( { | |
| 866 | - /*アニメーションの開始をこのメソッドが呼ばれた時点とする*/ | |
| 867 | - timeStamp: Date.now() | |
| 868 | - } ); | |
| 869 | - var evt = this.ownerDocument.createEvent("MouseEvents"); | |
| 870 | - evt.initMouseEvent("endEvent" ,true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, this); | |
| 871 | - this.dispatchEvent(evt); | |
| 872 | - }; | |
| 866 | + ele.endElement = eleMethod(frame.$activate.end, "end"); | |
| 873 | 867 | if (frame.isResolved) { |
| 874 | 868 | /*開始時間が初期化されてしまうのを防ぐ*/ |
| 875 | 869 | var cacheBegin = frame.begin; |