<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>颗粒翻转</title>
<style>
* {
margin: 0;
padding: 0;
list-style: none;
}
div{
width: 700px;
height: 400px;
background: url("images/img_tabs/1.jpg");
margin: 50px auto;
position: relative;
}
</style>
<script src="move.js"></script>
<script>
window.onload=function(){
var oDiv=document.getElementById('box');
var oInp=document.getElementById('btn1');
var C=8; //列数
var R=5; //行数
var W=oDiv.offsetWidth/C; //每个span的宽度
var H=oDiv.offsetHeight/R; //每个span的高度
//创建span
for(var i=0;i<R;i++){ //循环所有行
for(var j=0;j<C;j++){ //循环每一行中的每一个
var oSpan=document.createElement('span');
oSpan.style.width=W+'px';
oSpan.style.height=H+'px';
oSpan.style.position='absolute';
oSpan.style.top=i*H+'px';
oSpan.style.left=j*W+'px';
oSpan.style.backgroundImage='url("images/img_tabs/0.jpg")';
oSpan.style.backgroundPosition=-j*W+'px -'+i*H+'px';
oSpan.c=j;
oSpan.r=i;
oDiv.appendChild(oSpan);
}
} var iNow=0;
oInp.onclick=function() {
iNow++;
var aSpan = oDiv.children; if(iNow%3==0){
oDiv.style.backgroundImage='url("images/img_tabs/2.jpg")';
}else{
oDiv.style.backgroundImage='url("images/img_tabs/'+(iNow%3-1)+'.jpg")';
}
for(var i=0;i<aSpan.length;i++){
(function(index){
setTimeout(function(){
aSpan[index].style.backgroundImage='url("images/img_tabs/'+iNow%3+'.jpg")';
aSpan[index].style.opacity=0;
move(aSpan[index],{'opacity':1});
},(aSpan[index].c+aSpan[index].r)*200);
})(i);
}
}
};
</script>
</head>
<body>
<input type="button" value="换图" id="btn1"/>
<div id="box"> </div>
</body>
</html>

  

原生js颗粒页换图效果的更多相关文章

  1. 原生JS封装简单动画效果

    原生JS封装简单动画效果 一致使用各种插件,有时候对原生JS陌生了起来,所以决定封装一个简单动画效果,熟悉JS原生代码 function animate(obj, target,num){ if(ob ...

  2. 面向对象原生js幻灯片代淡出效果

    面向对象原生js幻灯片代淡出效果 下面是代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  3. 原生js实现的放大镜效果

    这是我用原生js写的放大镜效果,与各种各样的框架技术相比,我喜欢使用原生的js,在这里,想和大家一起谈谈原生和框架技术的理解与个人喜好. <!DOCTYPE HTML><html&g ...

  4. jq与原生js实现收起展开效果

    jq与原生js实现收起展开效果 (jq需自己加载) <!DOCTYPE html> <html> <head> <meta charset="UTF ...

  5. 原生JS实现淡入淡出效果(fadeIn/fadeOut/fadeTo)

    淡入淡出效果,在日常项目中经常用到,可惜原生JS没有类似的方法,而有时小的页面并不值得引入一个jQuery库,所以就自己写了一个,已封装, 有用得着的朋友, 可以直接使用. 代码中另附有一个设置元素透 ...

  6. 原生JS轮播-各种效果的极简实现(二)面向对象版本的实现和优化

    之前写了一篇原生JS轮播,不过是非面向对象的,并且也没有添加上自动轮播.这里来写一下如何优化和进阶. 这里简单地介绍一下之前的代码,这是html结构 <body> <div clas ...

  7. 原生js实现拖拽效果

    面向对象 + 原生js拖拽 拖拽div等盒子模型,都是日常操作没有什么问题,如果是拖拽图片的话,会有一点小坑要踩...... 那么我们看代码: var Move_fn = {}; (function( ...

  8. 原生JS编写的照片墙效果实例演示特效

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 原生js实现雪花飘落效果

    雪花飘落的效果实现步骤:1.使用setInterval定时器每800毫秒创建一个雪花:2.把每一个雪花作为参数传进动态下落的方法中即可. <style> *{padding: 0;marg ...

随机推荐

  1. .NET破解之PDFdo转换器

    无意中看到一个PDF转换器,叫PDFdo,看起了功能挺多的,于是想把它破了. 下载 官网:http://www.pdfdo.com/ 安装 安装后,只有一个exe应用程序,如果是.NET 程序应该有很 ...

  2. 使用Python给要素添加序号

    在ArcGIS的属性表中,由于编辑修改的原因,默认的FID或OID并不连续,经常需要给要素添加连读的序号,可使用Python代码完成. rec=-1 def autoIncrement(): glob ...

  3. CRM2013版本 IOS APP 说明(IPhone、IPad)

    CRM2013版本 IOS APP 说明(IPhone.IPad) IPhone版本 首页 CRM APP在登录时输入账号信息,可以进行首面.其首页显示内容可以在CRM后台设置. 系统默认显示:Pho ...

  4. SharePoint 更新文档库文档标题(Title)字段

    前言:记录下写代码中遇到的小问题,帮同事写一个批量更新文档库标题字段的小程序,本来以为就Update一下就可以了,10分钟可以搞定.结果10分钟过去了,代码写好了,执行起来不报错,调试也没问题,只是要 ...

  5. sublime text 3 安装

    sublime text 3 下载地址 http://www.sublimetext.com/3 下载windows版本,然后解压缩就可以直接使用了,不错不错哦, 为了更加便捷的管理,安装 packa ...

  6. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q60-Q62)

    Question 60You have a SharePoint site collection that contains 100 subsites.You plan to create a Web ...

  7. Android Java类编写规范+优化建议

    本文仅是我个人在实际开发中习惯的编写方式,当然这种方式也是来自很多官方的推荐,所以在一定程度上是可以被模仿套用的.本文将不定期更新~ 零.指导原则 优先保证可读性,不要过分追求代码艺术和效率 在可读性 ...

  8. UITabBarController的创建等基本方法

    #import "AppDelegate.h" @interface AppDelegate () <UITabBarControllerDelegate> @end ...

  9. iOS开发之UIImage等比缩放

    iOS开发之UIImage等比缩放 评论功能真不错 评论开通后,果然有很多人吐槽.谢谢大家的支持和关爱,如果有做的不到的地方,还请海涵.毕竟我一个人的力量是有限的,我会尽自己最大的努力大家准备一些干货 ...

  10. Windows Server 2008 R2怎样设置自动登陆

    Windows Server 2008 R2是一款服务器操作系统,提升了虚拟化.系统管理弹性.网络存取方式,以及信息安全等领域的应用,Windows Server 2008 R2也是第一个只提供64位 ...