html+jquery+jquery.imgpreload做序列图
找啊找啊找啊找啊找啊找啊找了半天(从各种网站上找资料费了半天劲)才找到的, 然后拼拼凑凑弄出来的序列图播放, 网上的资料太不负责任了, 简单的功能非不写全, 还没注释,功能也实现不了, 我弄出来给大家分下下
说明:
只针对多张png组成的序列图, -拼凑为动画.我的资源里有免费的jquery.imgpreload.min.js.请随意下载.
资源:
jpg没透明背景, png有透明背景但占用内存大,自己选择
jquery版本不限
jQuery替换图片版(加载略慢, 展示略卡):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<img class="chuansuo" />
<script type="text/javascript" src="./static/jquery.1.1.3.min.js"></script>
<script type="text/javascript" src="./static/jquery.imgpreload.min.js"></script>
<script type="text/javascript">
var load_img = [];
var imgIdent = 0;
var interNum = 0;
function prefixInteger(num, length) {
return ( "0000000000000000" + num ).substr( 0,length );
}
for(k=0;k<=306;k++){
imgIdent = String(k);
let identLength = 5-(imgIdent.length);
let ident = prefixInteger(k,identLength)+k;
// console.log(identLength,ident)
load_img.push( './images/qi/qi_'+ident+'.png' );
}
// console.log(load_img)
jQuery.imgpreload(load_img, {
all: function() {
}
});
setInterval(function(){
interNum++;
$('.chuansuo').attr('src',load_img[interNum]);
if(interNum>=306){
interNum = 0;
}
},50)
</script>
</body>
</html>
jQuery添加所有图片版(加载超慢, 展示稍微不卡):
window.sequence01 = {
load_img:[],
imgIdent:0,
interNum:0,
animateStart:null,
str:null
}
window.sequence02 = {
load_img:[],
imgIdent:0,
interNum:0,
timer:null,
str:"",
changeBg:true,
q1animate:true,
titleanimate:true,
}
window.sequence03 = {
load_img:[],
imgIdent:0,
interNum:0,
str:null
}
function prefixInteger(num, length) {
return ( "0000000000000000" + num ).substr( 0,length );
}
for(k=0;k<=306;k++){
sequence01.imgIdent = String(k);
let identLength = 5-(sequence01.imgIdent.length);
let ident = prefixInteger(k,identLength)+k;
sequence01.load_img.push(ident);
sequence01.str +="<img class='"+ident+"' src='./images/qizixulie/qizhi_"+ident+".png'>";
}
$("#qi").append(sequence01.str)
for(a=0;a<=179;a++){
sequence02.imgIdent = String(a);
let identLength = 5-(sequence02.imgIdent.length);
let ident = prefixInteger(a,identLength)+a;
sequence02.load_img.push(ident);
sequence02.str +="<img class='"+ident+"' src='./images/222/firsttttt_"+ident+".jpg'>";
}
$("#bg").append(sequence02.str)
for(b=183;b<=490;b++){
sequence03.imgIdent = String(b);
let identLength = 5-(sequence03.imgIdent.length);
let ident = prefixInteger(b,identLength)+b;
sequence03.load_img.push(ident);
sequence03.str +="<img class='"+ident+"' src='./images/111/seconddddd_"+ident+".jpg'>";
}
$("#bg").append(sequence03.str)
// jQuery.imgpreload(sequence01.load_img, {
// all: function() {
// }
// });
// jQuery.imgpreload(sequence02.load_img, {
// all: function() {
// }
// });
// jQuery.imgpreload(sequence03.load_img, {
// all: function() {
// }
// });
setInterval(function(){
sequence01.interNum++;
$("#qi img").eq(sequence01.load_img[sequence01.interNum]).show().siblings().hide();
if(sequence01.interNum>=306){
sequence01.interNum = 0;
}
},100)
// setTimeout(function(){
sequence02.timer = setInterval(function(){
sequence02.interNum++;
if(sequence02.changeBg){
// $('#bg').attr('src',sequence02.load_img[sequence02.interNum]);
$("#bg img").eq(sequence02.load_img[sequence02.interNum]).show().siblings().hide();
if (sequence02.q1animate) {
if(sequence02.interNum>=50){
$("#qi").animate({"top":"-5%"},10000)
sequence02.q1animate = false;
}
}
if (sequence02.titleanimate) {
if(sequence02.interNum>=130){
$(".u3d_title").fadeIn()
sequence02.titleanimate = false;
}
}
if(sequence02.interNum>=179){
sequence02.interNum = 0;
$(".getInto3d").fadeIn()
sequence02.changeBg = false;
// clearInterval(sequence02.timer)
}
}else{
// $('#bg').attr('src',sequence03.load_img[sequence02.interNum]);
// console.log(sequence03.load_img[sequence02.interNum])
$("#bg img").eq(sequence03.load_img[sequence03.interNum]).show().siblings().hide();
if(sequence02.interNum>=320){
sequence02.interNum = 0
}
}
},60)
// },3000)
Canvas版(加载最快,展示最快)
var mycanvas = document.getElementById('myCanvas')
var ctx = mycanvas.getContext('2d')
var screenW = window.screen.width;
var screenH = window.screen.height;
var cW = screenW;
var cH = screenH;
mycanvas.width = screenW;
mycanvas.height = screenH;
var mycanvasT = document.getElementById('myCanvasTwo')
var ctxt = mycanvasT.getContext('2d')
var cWt = screenW;
var cHt = mycanvasT.height;
mycanvasT.width = screenW;
mycanvasT.height = screenH;
window.sequence01 = {
load_img:[],
imgIdent:0,
interNum:0,
animateStart:null
}
window.sequence02 = {
load_img:[],
imgIdent:0,
interNum:0,
timer:null,
changeBg:true,
q1animate:true,
titleanimate:true,
}
window.sequence03 = {
load_img:[],
imgIdent:0,
interNum:0,
}
function prefixInteger(num, length) {
return ( "0000000000000000" + num ).substr( 0,length );
}
for(k=0;k<=306;k++){
sequence01.imgIdent = String(k);
let identLength = 5-(sequence01.imgIdent.length);
let ident = prefixInteger(k,identLength)+k;
sequence01.load_img.push( './images/qizixulie/qizhi_'+ident+'.png' );
}
for(a=0;a<=305;a++){
sequence02.imgIdent = String(a);
let identLength = 5-(sequence02.imgIdent.length);
let ident = prefixInteger(a,identLength)+a;
sequence02.load_img.push( './images/firstl/first_'+ident+'.jpg' );
}
for(b=306;b<=611;b++){
sequence03.imgIdent = String(b);
let identLength = 5-(sequence03.imgIdent.length);
let ident = prefixInteger(b,identLength)+b;
sequence03.load_img.push( './images/secondl/second_'+ident+'.jpg' );
}
jQuery.imgpreload(sequence01.load_img, {
all: function() {
}
});
jQuery.imgpreload(sequence02.load_img, {
all: function() {
}
});
jQuery.imgpreload(sequence03.load_img, {
all: function() {
}
});
setInterval(function(){
sequence01.interNum++;
var img = new Image();
img.src = sequence01.load_img[sequence01.interNum];
img.onload = function(){
ctx.clearRect(0,0,cW,cH)
ctx.drawImage(img,screenW-1000,-50,);
}
if(sequence01.interNum>=306){
sequence01.interNum = 0;
}
},60)
setInterval(function(){
var bgImg = new Image();
sequence02.interNum++;
if(sequence02.changeBg){
bgImg.src = sequence02.load_img[sequence02.interNum];
bgImg.onload = function(){
ctxt.clearRect(0,0,cWt,cHt)
ctxt.drawImage(bgImg,0,0,screenW,screenH);
}
if (sequence02.q1animate) {
if(sequence02.interNum>=50){
$("#myCanvas").animate({"top":"-5%"},10000)
sequence02.q1animate = false;
}
}
if (sequence02.titleanimate) {
if(sequence02.interNum>=130){
$(".u3d_title").fadeIn()
sequence02.titleanimate = false;
$(".getInto3d").delay(1000).fadeIn(3000,function(){
$(this).addClass("cur");
})
}
}
if(sequence02.interNum>=306){
sequence02.interNum = 0;
// clearInterval()
sequence02.changeBg = false;
}
}else{
bgImg.src = sequence03.load_img[sequence02.interNum];
bgImg.onload = function(){
ctxt.clearRect(0,0,cW,cH);
ctxt.drawImage(bgImg,0,0,screenW,screenH);
}
if(sequence02.interNum>=305){
sequence02.interNum = 0
}
}
},60)