SwfPlayer(嘘)

謎のパラパラ漫画ライブラリ。無駄にES3仕様。

謎のパラパラ漫画ライブラリ。無駄にES3仕様。

  • タグ:
  • タグはありません
var SwfPlayer=function(){
"use strict";
var pvt=0;
var _player="#"+(++pvt);
var _frames="#"+(++pvt);
var _jumpURL="#"+(++pvt);
var _i="#"+(++pvt);
var _isAuto="#"+(++pvt);
var _isEnded="#"+(++pvt);
var _makeImgs="#"+(++pvt);
var _setFrame="#"+(++pvt);
var _auto="#"+(++pvt);
var _ready="#"+(++pvt);
var _end="#"+(++pvt);
var _playing="#"+(++pvt);
var _next="#"+(++pvt);
function SwfPlayer(id,startFrame,endFrame,frames,jumpURL){
this[_player]=document.getElementById(id);
this[_frames]=frames.slice();
if(startFrame!==null) this[_frames].unshift([startFrame,0]);
if(endFrame!==null) this[_frames].push([endFrame,0]);
this[_makeImgs]();
this[_jumpURL]=jumpURL||null;
this[_ready]();
};
var $=SwfPlayer.prototype;
$[_makeImgs]=function(){
var div=this[_player];
div.style.display="inline-block";
div.style.position="relative";
var addImg=function(path,isFirst){
if(document.getElementById(path)!=null) return;
div.insertAdjacentHTML("beforeEnd",
'<img id="'+path+'" src="'+path+'" style="'
+(isFirst? "": "position:absolute;")
+"visibility:hidden;"
+"left:0px;top:0px;"
+'">');
};
for(var i=0;i<this[_frames].length;i++){
addImg(this[_frames][i][0],i==0);
}
}
$[_setFrame]=function(frame){
document.getElementById(frame).style.visibility="visible";
var imgs=this[_player].childNodes;
setTimeout(function(){
for(var i=0;i<imgs.length;i++){
if(imgs[i].id==frame) continue;
imgs[i].style.visibility="hidden";
}
},1);
}
$[_auto]=function(isAuto){
this[_isAuto]=isAuto;
this[_player].style.cursor=isAuto? "": "pointer";
};
$[_ready]=function(){
this[_i]=0;
this[_isEnded]=false;
this[_next]();
};
$[_end]=function(){
this[_isEnded]=true;
this[_next]();
};
$[_playing]=function(me){
var img=0;
var ms=1;
if(me[_frames].length<=me[_i]) return me[_end]();
var frame=me[_frames][me[_i]];
this[_setFrame](frame[img]);
me[_auto](0<frame[ms]);
me[_i]++;
if(me[_isAuto]){
setTimeout(function(){
me[_playing](me);
},
frame[ms]);
}
};
$[_next]=function(){
if(this[_isEnded]){
if(this[_jumpURL]===null) return this[_ready]();
return window.open(this[_jumpURL],"_self");
}
this[_playing](this);
};
$.next=function(){
if(this[_isAuto]) return;
this[_next]();
};
return SwfPlayer;
}();
/*
使!
<html>
<body>
<div id="swf" onclick="swf.next()"></div>
<!--[SwfPlayer].next()-->
<script src="SwfPlayer.js"></script>
<!--SwfPlayer()-->
<script>
var f=80;//1[ms]
var swf=new SwfPlayer(
"swf", //imgid
"flashstart.PNG", //null
"flashend.PNG", //null
//
//1[,]
//(=0 )
[
["000.png",f*10],
["001.png",f*30],
["002.png",f*30],
["003.png",f*40],
["004.png",f*25],
["005.png",f*20]
],
"http://yosgspec.web.fc2.com/" //URL
);
</script>
</body>
</html>
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX