仿FLASH的图片轮换播放器

2024-09-02 17:58
文章标签 图片 flash 播放器 轮换

本文主要是介绍仿FLASH的图片轮换播放器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  效果思路
            两边的按钮——淡入淡出
            大图下拉——层级、高度变化
            下方的li——多物体淡入淡出
            下方的Ul——位置计算


        左右按钮
          淡入淡出
            鼠标移到按钮上,按钮会消失
                层级问题
                按钮和遮罩上都得加上事件


        下方Li效果
            点击切换大图——选项卡
            Li淡入淡出——移入移出
            Ul移动——位置计算


        大图片切换
            图片层级——zIndex一直加1
            图片下拉效果(运动框架)
              可以改为淡入淡出


        加入自动播放
            和选项卡一样


        缩略图滚动计算说明
            第0张   offsetLeft
            0            0
            1            0
            2            -w
            3            2*w
            n          (n-1)*w

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><style>body{background:#666;}ul{margin:0px;padding:0px;}li{list-style-type:none;}.play{width:400px;height:430px;background:#ccc;margin:50px auto;font: 12px Arial;}.big_pic{width:400px;height:320px;overflow:hidden;position:relative;}.big_pic li{width:400px;height:320px;overflow:hidden;position:absolute;top:0px;left:0px; z-index:0;background: url(images/loading.gif) no-repeat center center;}.mark_left{width:200px;height:320px;position:absolute;top:0px; left:0px; filter: alpha(opacity:0); opacity: 0;z-index: 3000;}.mark_right{width:200px;height:320px;position:absolute;top:0px; right:0px; filter: alpha(opacity:0); opacity: 0;z-index: 3000;}.big_pic .prev{width:60px;height:60px;background:url(images/btn.gif);position:absolute;top: 130px; left: 10px; z-index: 3001; filter:alpha(opacity:0); opacity:0; cursor: pointer;}.big_pic .next { width: 60px; height: 60px; background: url(images/btn.gif) no-repeat 0 -60px; position: absolute; top: 130px; right: 10px; z-index: 3001; filter:alpha(opacity:0); opacity:0; cursor: pointer; }.big_pic .text { position: absolute; left: 10px; top: 302px; z-index: 3000; color: #ccc; }.big_pic .length { position: absolute; right: 10px; bottom: 4px; z-index: 3000; color: #ccc; }.big_pic .bg { width: 400px; height: 25px; background: #000; filter: alpha(opacity=60); opacity: 0.6; position: absolute; z-index: 2999; bottom: 0; left: 0; }.small_pic { width: 380px; height: 94px; position: relative; top: 7px; left: 10px;  overflow:hidden;}.small_pic ul { height: 94px;  position: absolute; top: 0; left: 0; }.small_pic li { width: 120px; height: 94px; float: left; padding-right: 10px; background: url(images/loading.gif) no-repeat center center; cursor: pointer; filter: alpha(opacity=60); opacity: 0.6;}.small_pic img { width: 120px; height: 94px; }</style><script src="move1.js"></script><script>function getByClass(oParent,oElement){var aEle=oParent.getElementsByTagName('*');var aResult=[];for(var i=0;i<aEle.length;i++){if(aEle[i].className==oElement){aResult.push(aEle[i]);}}return aResult;};window.οnlοad=function(){var oDiv=document.getElementById('playimages');var oBtnPrev=getByClass(oDiv, 'prev')[0];var oBtnNext=getByClass(oDiv, 'next')[0];var oMarkLeft=getByClass(oDiv, 'mark_left')[0];var oMarkRight=getByClass(oDiv, 'mark_right')[0];var oDivSmall=getByClass(oDiv, 'small_pic')[0];var oUlSmall=oDivSmall.getElementsByTagName('ul')[0];var aLiSmall=oDivSmall.getElementsByTagName('li');var oUlBig=getByClass(oDiv, 'big_pic')[0];var aLiBig=oUlBig.getElementsByTagName('li');//左右按钮oBtnPrev.οnmοuseοver= oMarkLeft.οnmοuseοver=function(){startMove(oBtnPrev,'opacity',100);}oBtnPrev.οnmοuseοut= oMarkLeft.οnmοuseοut=function(){startMove(oBtnPrev,'opacity',0);}oBtnNext.οnmοuseοver= oMarkRight.οnmοuseοver=function(){startMove(oBtnNext,'opacity',100);}oBtnNext.οnmοuseοut= oMarkRight.οnmοuseοut=function(){startMove(oBtnNext,'opacity',0);}var nowIndex=2;//为了确定z-index的值,越大就显示在前面<span style="color:#ff0000;"> var now=0;//记录当前为第几张图片,重复点击,zIndex不变</span>for(var i=0;i<aLiSmall.length;i++){aLiSmall[i].index=i;//知道点的是第几张图aLiSmall[i].οnclick=function(){<span style="color:#ff0000;"> if(this.index==now)//判断当前张是否重复点击,是则什么也不执行//说明反复点的是同一张图return;now=this.index;//讲当前张赋值给now</span>tab();};//小图移入改变透明度aLiSmall[i].οnmοuseοver=function(){startMove(this,'opacity',100);}aLiSmall[i].οnmοuseοut=function(){<span style="color:#33ff33;"> if(this.index==now)//如果点击的是当前的图片,就不返回透明return;</span>else{startMove(this,'opacity',60);}            };};function tab(){//执行大图播放aLiBig[now].style.zIndex=nowIndex;//让zindex值变大nowIndex++;for(var i=0;i<aLiSmall.length;i++)//先让所有的透明度变成60{startMove(aLiSmall[i],'opacity',60);  }startMove(aLiSmall[now],'opacity',100);//让当前点击的图片透明度变深//要让点击的图片透明度不变,在鼠标移出时判断aLiBig[now].style.height=0;//让图片从上往下运动startMove( aLiBig[now],'height',320);oUlSmall.style.width=aLiSmall.length*aLiSmall[0].offsetWidth+"px";//设置缩略图总宽度//小图的滚动if(now==0){startMove(oUlSmall,'left',0);}else if(now== aLiSmall.length-1){startMove(aLiSmall,'left',-(now-2)*aLiSmall[0].offsetWidth);//设置倒数第二张位置,显得不动}else{startMove(oUlSmall,'left',-(now-1)*aLiSmall[0].offsetWidth);//向左运动}}//鼠标点击左右按钮件切换图片oBtnPrev.οnclick=function(){now--;if(now==-1){now=aLiSmall.length-1;}tab();}oBtnNext.οnclick=function(){now++;if(now==aLiSmall.length){now=0;}tab();}//定时器自动播放 //自动播放就是替你执行点击事件var timer=setInterval(oBtnNext.onclick,1500);//鼠标移入移出控制播放oDiv.οnmοuseοver=function(){clearInterval(timer);}oDiv.οnmοuseοut=function(){timer=setInterval(oBtnNext.onclick,1500);}}</script></head><body><div id="playimages" class="play"><ul class="big_pic"><div class="prev"></div><div class="next"></div><div class="text">加载图片说明……</div><div class="length">计算图片数量……</div><a class="mark_left" href="javascript:;"></a><a class="mark_right" href="javascript:;"></a><div class="bg"></div><li style="z-index:1;"><img src="images/1.jpg" /></li><li><img src="images/2.jpg" /></li><li><img src="images/3.jpg" /></li><li><img src="images/4.jpg" /></li><li><img src="images/5.jpg" /></li><li><img src="images/6.jpg" /></li></ul><div class="small_pic"><ul style="width:390px;"><li style="filter: 100; opacity: 1;"><img src="images/1.jpg" /></li><li><img src="images/2.jpg" /></li><li><img src="images/3.jpg" /></li><li><img src="images/4.jpg" /></li><li><img src="images/5.jpg" /></li><li><img src="images/6.jpg" /></li></ul></div></div></body>
</html>



这篇关于仿FLASH的图片轮换播放器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130669

相关文章

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

Python使用PIL库将PNG图片转换为ICO图标的示例代码

《Python使用PIL库将PNG图片转换为ICO图标的示例代码》在软件开发和网站设计中,ICO图标是一种常用的图像格式,特别适用于应用程序图标、网页收藏夹图标等场景,本文将介绍如何使用Python的... 目录引言准备工作代码解析实践操作结果展示结语引言在软件开发和网站设计中,ICO图标是一种常用的图像

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

Python脚本实现图片文件批量命名

《Python脚本实现图片文件批量命名》这篇文章主要为大家详细介绍了一个用python第三方库pillow写的批量处理图片命名的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言源码批量处理图片尺寸脚本源码GUI界面源码打包成.exe可执行文件前言本文介绍一个用python第三方库pi

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

Python利用PIL进行图片压缩

《Python利用PIL进行图片压缩》有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所以本文为大家介绍了Python中图片压缩的方法,需要的可以参考下... 有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片