仿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实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

c/c++的opencv实现图片膨胀

《c/c++的opencv实现图片膨胀》图像膨胀是形态学操作,通过结构元素扩张亮区填充孔洞、连接断开部分、加粗物体,OpenCV的cv::dilate函数实现该操作,本文就来介绍一下opencv图片... 目录什么是图像膨胀?结构元素 (KerChina编程nel)OpenCV 中的 cv::dilate() 函

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

Java实现图片淡入淡出效果

《Java实现图片淡入淡出效果》在现代图形用户界面和游戏开发中,**图片淡入淡出(FadeIn/Out)**是一种常见且实用的视觉过渡效果,它可以用于启动画面、场景切换、轮播图、提示框弹出等场景,通过... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细

Java如何根据文件名前缀自动分组图片文件

《Java如何根据文件名前缀自动分组图片文件》一大堆文件(比如图片)堆在一个目录下,它们的命名规则遵循一定的格式,混在一起很难管理,所以本文小编就和大家介绍一下如何使用Java根据文件名前缀自动分组图... 目录需求背景分析思路实现代码输出结果知识扩展需求一大堆文件(比如图片)堆在一个目录下,它们的命名规

将图片导入Python的turtle库的详细过程

《将图片导入Python的turtle库的详细过程》在Python编程的世界里,turtle库以其简单易用、图形化交互的特点,深受初学者喜爱,随着项目的复杂度增加,仅仅依靠线条和颜色来绘制图形可能已经... 目录开篇引言正文剖析1. 理解基础:Turtle库的工作原理2. 图片格式与支持3. 实现步骤详解第

在React聊天应用中实现图片上传功能

《在React聊天应用中实现图片上传功能》在现代聊天应用中,除了文字和表情,图片分享也是一个重要的功能,本文将详细介绍如何在基于React的聊天应用中实现图片上传和预览功能,感兴趣的小伙伴跟着小编一起... 目录技术栈实现步骤1. 消息组件改造2. 图片预览组件3. 聊天输入组件改造功能特点使用说明注意事项