html 图片自动滚动播放,javascript+html5实现仿flash滚动播放图片的方法

本文实例讲述了javascript+html5实现仿flash滚动播放图片的方法。分享给大家供大家参考。具体如下:

html部分:

1.JPG 2.JPG 3.JPG 4.JPG 5.JPG 6.JPG
  • 1.JPG
  • 2.JPG
  • 3.JPG
  • 4.JPG
  • 5.JPG
  • 6.JPG

css部分:

body{ margin: 0px; padding: 0px; }

ul{ margin: 0px; padding: 0px; }

li{ list-style: none; }

.play{ width: 600px; height: 550px; left: 30px; top: 20px;

position: relative; border: 2px solid black;

}

.big_pic{ width: 600px; height: 400px; position: relative;

background: snow; overflow: hidden;

}

.big_pic li{ width: 600px; height: 400px; overflow:hidden;

position: absolute; background: black; z-index: 0

}

.big_pic li img{ width: 600px; height: 400px;

position: absolute;

}

.mark_left{ width: 300px; height: 400px;

background: orange; position: absolute; left: 0px; top: 0px;

z-index: 3000; filter: alpha(opacity:0); opacity: 0;

}

.mark_right{ width: 300px; height: 400px; background: cornflowerblue;

position: absolute; left: 300px; top: 0px;

z-index: 3000; filter: alpha(opacity:0); opacity: 0;

}

.prev{ width: 60px; height: 60px;

background: url(image/btn.gif) no-repeat; position: absolute;

z-index: 3001; top: 170px; left: 10px; cursor: pointer;

filter: alpha(opacity:0); opacity: 0;

}

.next{ width: 60px; height: 60px;

background: url(image/btn.gif) no-repeat 0 -60px;

position: absolute; z-index: 3001; top: 170px; right: 10px;

cursor: pointer; filter: alpha(opacity:0); opacity: 0;

}

.small_pic{ width: 594px; height: 144px;

position: relative;top: 0;left: 0;

border: 3px solid paleturquoise;overflow: hidden;

}

.small_pic ul{ width: 594px; height: 144px;

position: absolute; left: 0px;top: 0px;

}

.small_pic li img{ width: 194px; height: 140px; }

.small_pic ul li{ border:2px solid paleturquoise;

width: 194px; height: 140px; float: left;

cursor: pointer; filter: alpha(opacity:60); opacity: 0.6;

}

JS部分:

window.οnlοad=function(){

var oPlay=document.getElementById('playImages');

var uBig=getClass(oPlay,'big_pic')[0];

var uSmall=getClass(oPlay,'small_pic')[0];

var oPrev=getClass(oPlay,'prev')[0];

var oNext=getClass(oPlay,'next')[0];

var aLeft=getClass(oPlay,'mark_left')[0];

var aRight=getClass(oPlay,'mark_right')[0];

var oUlSmall=uSmall.getElementsByTagName('ul')[0];

var oSli=uSmall.getElementsByTagName('li');

var oBli=uBig.getElementsByTagName('li');

oUlSmall.style.width=oSli[0].offsetWidth*oSli.length+'px';

oPrev.οnmοuseοver=aLeft.οnmοuseοver=function(){

move(oPrev,100,'opacity');

};

oPrev.οnmοuseοut=aLeft.οnmοuseοut=function(){

move(oPrev,0,'opacity');

};

oNext.οnmοuseοver=aRight.οnmοuseοver=function(){

move(oNext,100,'opacity');

};

oNext.οnmοuseοut=aRight.οnmοuseοut=function(){

move(oNext,0,'opacity');

};

var index=0;

var newZIndex=2;

for (var i=0;i

oSli[i].num=i;

oSli[i].οnclick=function(){

if(this.num==index) {

return;

} else{

index=this.num;

tab();

}

};

oSli[i].οnmοuseοver=function(){

move(this,100,'opacity');

};

oSli[i].οnmοuseοut=function(){

if(this.num!=index){

move(this,60,'opacity');

}

};

}

oPrev.οnclick=function(){

index--;

if(index==-1){

index=oSli.length-1;

}

tab();

};

oNext.οnclick=function(){

index++;

if(index==oBli.length){

index=0;

}

tab();

};

function tab() {

oBli[index].style.height = 0;

oBli[index].style.zIndex = newZIndex++;

move(oBli[index], 400, 'height');

for (var i = 0; i < oSli.length; i++) {

move(oSli[i], 60, 'opacity');

}

move(oSli[index], 100, 'opacity');

if (index == 0) {

move(oUlSmall, 0, 'left');

} else if (index == oSli.length - 1) {

move(oUlSmall, -(index - 2) * oSli[0].offsetWidth, 'left');

} else {

move(oUlSmall, -(index - 1) * oSli[0].offsetWidth, 'left');

}

};

var timer=setInterval(oNext.onclick,3000);;

oPlay.οnmοuseοver=function(){

clearInterval(timer);

};

oPlay.οnmοuseοut=function(){

timer=setInterval(oNext.onclick,3000);

};

};

function getStyle(obj,name){

if(obj.currentStyle){

return obj.currentStyle[name];

}else{

return getComputedStyle(obj,false)[name];

}

};

function move(obj,iTarget,name){

clearInterval(obj.timer);

obj.timer=setInterval(function(){

var cur=0;

if(name=='opacity'){

cur=Math.round(parseFloat(getStyle(obj,name))*100);

}else{

cur=parseInt(getStyle(obj,name));

}

var speed=(iTarget-cur)/30;

speed=speed>0?Math.ceil(speed):Math.floor(speed);

if(cur==iTarget){

clearInterval(obj.timer);

}else{

if(name=='opacity'){

obj.style.opacity=(cur+speed)/100;

obj.style.filter='alpha(opacity:'+cur+speed+')';

}else{

obj.style[name]=cur+speed+"px";

}

}

},30);

};

function getClass(oParent,name){

var oArray=[];

var oBj=oParent.getElementsByTagName('*');

for(var i=0;i

if(oBj[i].className==name){

oArray.push(oBj[i]);

}

}

return oArray;

}

希望本文所述对大家的javascript程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值