javascript+html5实现仿flash滚动播放图片的方法_javascript技巧

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

html部分:

<!DOCTYPE html>
<html>
<head lang="en">
 <meta charset="UTF-8">
 <title></title>
 <script src="move.js" type="text/javascript"></script>
 <link href="css.css" type="text/css" rel="stylesheet">
</head>
<body>
<div id="playImages" class="play">
 <ul class="big_pic">
  <div class="prev"></div>
  <div class="next"></div>
  <a class="mark_left" href="javascript:;"></a>
  <a class="mark_right" href="javascript:;"></a>
  <li style="z-index: 1"><img src="image/1.JPG"></li>
  <li><img src="image/2.JPG"></li>
  <li><img src="image/3.JPG"></li>
  <li><img src="image/4.JPG"></li>
  <li><img src="image/5.JPG"></li>
  <li><img src="image/6.JPG"></li>
 </ul>
 <div class="small_pic">
  <ul>
   <li><img src="image/1.JPG"></li>
   <li><img src="image/2.JPG"></li>
   <li><img src="image/3.JPG"></li>
   <li><img src="image/4.JPG"></li>
   <li><img src="image/5.JPG"></li>
   <li><img src="image/6.JPG"></li>
  </ul>
 </div>
</div>
</body>
</html>

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.onload=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.onmouseover=aLeft.onmouseover=function(){
  move(oPrev,100,'opacity');
 };
 oPrev.onmouseout=aLeft.onmouseout=function(){
  move(oPrev,0,'opacity');
 };
 oNext.onmouseover=aRight.onmouseover=function(){
  move(oNext,100,'opacity');
 };
 oNext.onmouseout=aRight.onmouseout=function(){
  move(oNext,0,'opacity');
 };
 var index=0;
 var newZIndex=2;
 for (var i=0;i<oSli.length;i++){
  oSli[i].num=i;
  oSli[i].onclick=function(){
   if(this.num==index) {
    return;
   } else{
    index=this.num;
    tab();
   }
  };
  oSli[i].onmouseover=function(){
   move(this,100,'opacity');
  };
  oSli[i].onmouseout=function(){
   if(this.num!=index){
    move(this,60,'opacity');
   }
  };
 }
 oPrev.onclick=function(){
  index--;
  if(index==-1){
   index=oSli.length-1;
  }
  tab();
 };
 oNext.onclick=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.onmouseover=function(){
  clearInterval(timer);
 };
 oPlay.onmouseout=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<oBj.length;i++){
  if(oBj[i].className==name){
   oArray.push(oBj[i]);
  }
 }
 return oArray;
}

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript
, html5
, 仿flash
滚动播放图片
javascript滚动条事件、javascript 滚动事件、javascript滚动到底部、javascript图片滚动、javascript 滚动条,以便于您获取更多的相关知识。

时间: 2024-09-24 11:45:32

javascript+html5实现仿flash滚动播放图片的方法_javascript技巧的相关文章

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

javascript+html5实现仿flash滚动播放图片的方法        本文实例讲述了javascript+html5实现仿flash滚动播放图片的方法.分享给大家供大家参考.具体如下: html部分: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 <!DOCTYPE html> <html> <head lang=&

js实现鼠标悬停图片上时滚动文字说明的方法_javascript技巧

本文实例讲述了js实现鼠标悬停图片上时滚动文字说明的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <title>js实现鼠标悬停图片上时的滚动文字说明</title> <body> <SCRIPT LANGUAGE="JavaScript"> <!-- Begin function showtip2(current,e,text){   if (document.all&&a

JS实现仿FLASH效果的竖排导航代码_javascript技巧

本文实例讲述了JS实现仿FLASH效果的竖排导航代码.分享给大家供大家参考.具体如下: 这是一款JS+CSS实现的Flash效果的导航菜单,竖向排列,兼容性好,由JavaScript妙味课堂的朋友编写,欢迎测试. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-flash-style-v-nav-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transition

JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果_javascript技巧

本文实例讲述了JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果.分享给大家供大家参考.具体如下: 这里演示JavaScript+CSS仿Mootools竖排黑色动画菜单,并非使用了Mootools,但效果却和使用了Mootools差不多,动画效果平滑,操作舒服,给菜单增色不少. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-mootools-style-demo/ 具体代码如下: <!DOCTYPE html

javascript顺序加载图片的方法_javascript技巧

本文实例讲述了javascript顺序加载图片的方法.分享给大家供大家参考.具体如下: javascript监听一个图片是否加载完毕 如果加载完成再加载下一张,不是一次性从服务器加载 减少服务器压力, 可用到的地方:比如制作类似google地图的应用,可以使小图一张一张的加载 function Load_pic(arr){ this.loop_f=function(i,o_file,len,f,obj){ if(i<len-1){ i=i+1; f(i,o_file,len,obj); } };

JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例_javascript技巧

本文实例讲述了JavaScript+html5 canvas绘制缤纷多彩的三角形效果.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE HTML> <html> <head> <title>demo</title> <style type="text/css"> body { margin:0; padding:0; } #canvas { width:500px; heig

JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例_javascript技巧

本文实例讲述了JavaScript+html5 canvas绘制的圆弧荡秋千效果.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <html> <head> <title>demo</title> <style type="text/css"> #canvas { margin:50px; border:5px solid gray; box-shadow:0p

js实现幻灯片播放图片示例代码_javascript技巧

1,在页面添加下面的元素.展示出置出图片文件列表文件. 复制代码 代码如下: <select id="img_date" style="width: 100%; margin-top: 10px; height: 50%;" size="20"> <option value="图片的url">图片名字</option> </select> 2,播放文件列表的方法.主要是遍历文件列

javascript简单实现等比例缩小图片的方法_javascript技巧

本文实例讲述了javascript简单实现等比例缩小图片的方法.分享给大家供大家参考,具体如下: //等比例缩小图片 function changeImg(obj,width,height) { var img = new Image(); img.src = document.getElementById(obj.id).src var ys_w = img.width; var ys_h = img.height; if(ys_w > width || ys_h > height) { v