原生js颗粒页换图效果
<!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颗粒页换图效果的更多相关文章
- 原生JS封装简单动画效果
原生JS封装简单动画效果 一致使用各种插件,有时候对原生JS陌生了起来,所以决定封装一个简单动画效果,熟悉JS原生代码 function animate(obj, target,num){ if(ob ...
- 面向对象原生js幻灯片代淡出效果
面向对象原生js幻灯片代淡出效果 下面是代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...
- 原生js实现的放大镜效果
这是我用原生js写的放大镜效果,与各种各样的框架技术相比,我喜欢使用原生的js,在这里,想和大家一起谈谈原生和框架技术的理解与个人喜好. <!DOCTYPE HTML><html&g ...
- jq与原生js实现收起展开效果
jq与原生js实现收起展开效果 (jq需自己加载) <!DOCTYPE html> <html> <head> <meta charset="UTF ...
- 原生JS实现淡入淡出效果(fadeIn/fadeOut/fadeTo)
淡入淡出效果,在日常项目中经常用到,可惜原生JS没有类似的方法,而有时小的页面并不值得引入一个jQuery库,所以就自己写了一个,已封装, 有用得着的朋友, 可以直接使用. 代码中另附有一个设置元素透 ...
- 原生JS轮播-各种效果的极简实现(二)面向对象版本的实现和优化
之前写了一篇原生JS轮播,不过是非面向对象的,并且也没有添加上自动轮播.这里来写一下如何优化和进阶. 这里简单地介绍一下之前的代码,这是html结构 <body> <div clas ...
- 原生js实现拖拽效果
面向对象 + 原生js拖拽 拖拽div等盒子模型,都是日常操作没有什么问题,如果是拖拽图片的话,会有一点小坑要踩...... 那么我们看代码: var Move_fn = {}; (function( ...
- 原生JS编写的照片墙效果实例演示特效
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 原生js实现雪花飘落效果
雪花飘落的效果实现步骤:1.使用setInterval定时器每800毫秒创建一个雪花:2.把每一个雪花作为参数传进动态下落的方法中即可. <style> *{padding: 0;marg ...
随机推荐
- NPOI导出数据到Excel
NPOI导出数据到Excel 前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微 ...
- Error occurred in deployment step 'Add Solution': Operation is not valid due to the current state of the object.
Sharepoint 部署的时候出现一个错误 Error occurred in deployment step 'Add Solution': Operation is not valid due ...
- Arcengine实现创建网络数据集札记(三)
后记 下面给出项目中用到的自定义的封装类. AE许可初始化封装类: public class AELicenseChecker { private static volatile AELicenseC ...
- PL/SQL基础2(笔记)
1 第一个PL/SQL的程序 DECLARE BEGIN DBMS_OUTPUT.PUT_LINE('Hello World!'); END; / --2一个简单的PL/SQL程序 DECLARE v ...
- iOS— UIScrollView和 UIPageControl之间的那些事
本代码主要实现在固定的位置滑动图片可以切换. 目录图如下: ViewController.h #import <UIKit/UIKit.h> // 通过宏定义定义宽和高 #define W ...
- UI界面的一些简单控件
虽然都是代码 , 但是基本都有注释. #import "ViewController.h" @interface ViewController () /** * 创建视图 */ @ ...
- Silverlight项目笔记5:Oracle归档模式引起的异常&&表格控件绑定按钮
1.Oracle归档模式产生日志文件引起数据库异常 连接数据库失败,提示监听错误,各种检查监听配置文件,删除再添加监听,无果. sqlplus下重启数据库数据库依然无果,期间碰到多个错误提示: ORA ...
- iOS开发网络篇—网络编程基础(二)
下面叙述的是关于几个必须要知道的iOS网络编程入门级别的要点: 1.客户端如何找到连接的服务器 客户端通过URL找到想要连接的服务器 2.什么是URL URL的全称是Un ...
- java基础--温故而知新 (01)
1 myeclipse是一个eclipse插件.使用java语言开发.进程是javaw.exe--非命令行方式启动. 2 考这些术语的公司,往往都是世界一流的好公司.(技术广度+英语) java ...
- 大家一起和snailren学java-(六)复用类
“失恋了,唉,还没开始就结束了……唉……继续看java” 今天又是周末,我们来看看java的复用机制是什么情况.大家知道,代码复用非常实用,这项特性是java的一个重要的部分.那java用什么来实现的 ...