H5实现仿flash效果的实现代码
发布时间 - 2026-01-11 03:29:11 点击率:次H5实现仿flash效果的实现代码

随着H5的火热,flash即将被H5所代替,如何利用H5实现flash的效果呢?我做了一个简单的小东西分享给大家。
html和js部分:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="jsByKing.js"></script>
<link rel="stylesheet" href="仿flash的css.css" rel="external nofollow" >
<script>
function getByClass(oParent,sClass) {
var aEle=oParent.getElementsByTagName('*');
var aResult=[];
for(var i=0;i<aEle.length;i++){
if(aEle[i].className==sClass){
aResult.push(aEle[i]);
}
}
return aResult;
}
//左右箭头
window.onload=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');
var nowZIndex=2;
var now=0;
oUlSmall.style.width=aLiSmall.length*aLiSmall[0].offsetWidth+'px';
oBtnPrev.onmouseover=oMarkLeft.onmouseover=function () {
startMove(oBtnPrev,'opacity',100);
};
oBtnPrev.onmouseout=oMarkLeft.onmouseout=function () {
startMove(oBtnPrev,'opacity',0);
}
oBtnNext.onmouseover=oMarkRight.onmouseover=function () {
startMove(oBtnNext,'opacity',100);
};
oBtnNext.onmouseout=oMarkRight.onmouseout=function () {
startMove(oBtnNext,'opacity',0);
}
//大图切换
for(var i=0; i<aLiSmall.length;i++){
aLiSmall[i].index=i;
aLiSmall[i].onclick=function () {
if(this.index==now)return;
now=this.index;
tab();
aLiSmall[i].onmouseover=function () {
startMove(this,'opacity',100);
}
aLiSmall[i].onmouseout=function () {
if(this.index!=now){
startMove(this,'opacity',60)
}
}
}
function tab() {
aLiBig[now].style.zIndex=nowZIndex++;
for(var i=0;i<aLiSmall.length;i++){
startMove(aLiSmall[i],'opacity',60);
}
startMove(aLiSmall[now],'opacity',100);
aLiBig[now].style.height=0;
startMove(aLiBig[now],'height',320);
if(now==0){
startMove(oUlSmall,'left',0);
}
else if(now==aLiSmall.length-1){
startMove(oUlSmall,'left',-(now-2)*aLiSmall[0].offsetWidth);
}
else {
startMove(oUlSmall,'left', -(now-1)*aLiSmall[0].offsetWidth);
}
};
}
oBtnPrev.onclick=function () {
now--;
if(now==-1){
now=aLiSmall.length-1;
}
tab();
};
oBtnNext.onclick=function () {
now++;
if(now==aLiSmall.length){
now=0;
}
tab();
}
var timer=setInterval(oBtnNext.onclick,2000);
oDiv.onmouseover=function () {
clearInterval(timer);
}
oDiv.onmouseout=function () {
timer=setInterval(oBtnNext.onclick,2000);
}
}
</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:;" rel="external nofollow" rel="external nofollow" ></a>
<a class="mark_right" href="javascript:;" rel="external nofollow" rel="external nofollow" ></a>
<div class="bg"></div>
<li style="z-index: 1;"><img src="../../img/练习/1.jpg" alt=""></li>
<li><img src="../../img/练习/2.jpg" alt=""></li>
<li><img src="../../img/练习/3.jpg" alt=""></li>
<li><img src="../../img/练习/4.jpg" alt=""></li>
<li><img src="../../img/练习/5.jpg" alt=""></li>
<li><img src="../../img/练习/6.jpg" alt=""></li>
</ul>
<div class="small_pic">
<ul style="width: 390px;">
<li style="opacity: 1"><img src="../../img/练习/1.jpg" alt=""></li>
<li><img src="../../img/练习/2.jpg" alt=""></li>
<li><img src="../../img/练习/3.jpg" alt=""></li>
<li><img src="../../img/练习/4.jpg" alt=""></li>
<li><img src="../../img/练习/5.jpg" alt=""></li>
<li><img src="../../img/练习/6.jpg" alt=""></li>
</ul>
</div>
</div>
</body>
</html>
css部分:
body{
background: #666;
}
ul{
padding: 0;
margin: 0;
}
li{
list-style: none;
}
img{
border:0;
width: 100%;
height: 100%;
}
.play{
width: 400px;
height: 430px;
margin: 50px auto 0;
background: #999;
font: 12px Arial;
}
.big_pic{
width: 400px;
height: 320px;
overflow: hidden;
border-bottom: 1px solid #ccc;
background: #222;
position: relative;
}
.big_pic img{
width: 400px;
height: 320px;
}
.big_pic li{
width: 400px;
height: 320px;
overflow: hidden;
position: absolute;
top:0;
left:0;
z-index: 0;
}
.mark_left{
width: 200px;
height: 320px;
position: absolute;
left: 0;
top:0;
/*background: red;*/
opacity: 0;
z-index: 3000;
}
.mark_right{
width: 200px;
height: 320px;
position: absolute;
left: 200px;
top:0;
/*background: green;*/
opacity: 0;
z-index: 3000;
}
.big_pic .prev{
width: 60px;
height: 60px;
background-image: url("../../img/练习/left.jpg");
background-size: cover;
position: absolute;
top: 130px;
left: 10px;
z-index: 3001;
opacity: 0;
cursor: pointer;
}
.big_pic .next{
width: 60px;
height: 60px;
background-image: url("../../img/练习/right.jpg");
background-size: cover;
background-position: 65px 60px;
position: absolute;
top: 130px;
right: 10px;
z-index: 3001;
opacity: 0;
cursor: pointer;
}
.big_pic .text{
position: absolute;
left: 10px;
bottom: 4px;
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;
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;
cursor: pointer;
opacity: 0.6;
}
效果图展示:
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# H5
# flash的实现效果
# 模仿flash的实例
# PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
# jQuery实现模拟flash头像裁切上传功能示例
# php获取flash尺寸详细数据的方法
# jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
# php+flash+jQuery多图片上传源码分享
# js简单判断flash是否加载完成的方法
# 如有
# 希望能
# 给大家
# 将被
# 谢谢大家
# 疑问请
# 加载
# 我做了
# playimages
# oBtnPrev
# document
# getElementById
# prev
# mark_left
# return
# oBtnNext
# oMarkLeft
# length
# className
# aResult
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
Laravel如何集成Inertia.js与Vue/React?(安装配置)
Linux系统命令中tree命令详解
韩国服务器如何优化跨境访问实现高效连接?
JavaScript如何操作视频_媒体API怎么控制播放
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
JavaScript常见的五种数组去重的方式
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
Thinkphp 中 distinct 的用法解析
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
高端建站三要素:定制模板、企业官网与响应式设计优化
如何快速搭建高效简练网站?
php485函数参数是什么意思_php485各参数详细说明【介绍】
网站制作软件免费下载安装,有哪些免费下载的软件网站?
Laravel中的Facade(门面)到底是什么原理
Laravel如何与Inertia.js和Vue/React构建现代单页应用
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
Python进程池调度策略_任务分发说明【指导】
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
郑州企业网站制作公司,郑州招聘网站有哪些?
php结合redis实现高并发下的抢购、秒杀功能的实例
实例解析Array和String方法
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
如何在建站宝盒中设置产品搜索功能?
如何解决hover在ie6中的兼容性问题
详解Android图表 MPAndroidChart折线图
EditPlus中的正则表达式实战(5)
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
如何快速辨别茅台真假?关键步骤解析
网易LOFTER官网链接 老福特网页版登录地址
如何在建站之星绑定自定义域名?
详解Android——蓝牙技术 带你实现终端间数据传输
Laravel如何实现API速率限制?(Rate Limiting教程)
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Laravel如何实现一对一模型关联?(Eloquent示例)
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
如何在阿里云香港服务器快速搭建网站?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
高端建站如何打造兼具美学与转化的品牌官网?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Firefox Developer Edition开发者版本入口
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
如何快速生成凡客建站的专业级图册?
如何在Windows服务器上快速搭建网站?
如何在阿里云虚拟服务器快速搭建网站?
Bootstrap整体框架之JavaScript插件架构
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
如何在万网利用已有域名快速建站?

