原生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 ...
随机推荐
- 使用Apache ab进行压力测试(参数说明)
我们一般会使用Apache自带的ab来对项目进行压力测试,看项目的执行情况如何. 我们可以使用 ab -v 来查看ab的详细参数使用方法. [root@node234 bin]# ./ab -v ab ...
- 链接错误——无法解析的外部符号 ConvertStringToBST
今天做COM组件时,编译之后,出现了一个数个编译错误:error LNK2019: 无法解析的外部符号 "wchar_t * __stdcall _com_util::ConvertStri ...
- javascript中apply()和call()方法的区别
一.方法的定义 call方法: 语法:call(thisObj,Object)定义:调用一个对象的一个方法,以另一个对象替换当前对象.说明:call 方法可以用来代替另一个对象调用一个方法.call ...
- CRM2013版本 IOS APP 说明(IPhone、IPad)
CRM2013版本 IOS APP 说明(IPhone.IPad) IPhone版本 首页 CRM APP在登录时输入账号信息,可以进行首面.其首页显示内容可以在CRM后台设置. 系统默认显示:Pho ...
- Java中的守护线程和非守护线程(转载)
<什么是守护线程,什么是非守护线程> Java有两种Thread:"守护线程Daemon"(守护线程)与"用户线程User"(非守护线程). 用户线 ...
- 如何在树莓派上运行雷神之锤III
昨天在树莓派上尝试运行了一下雷神之锤III,流畅运行,效果不错~~~ RPI这个小身板的东东总是可以给你带来惊喜,这里记录一下步骤以备后续再用 先确保RPI的程序和固件都已经更新 sudo apt-g ...
- Caused by: java.lang.UnsupportedOperationException
对Arrays.asList()返回的List进行操作之后报错Caused by: java.lang.UnsupportedOperationException 让我们来看一下Arrays.asLi ...
- IOS沙盒
可以先在程序打印沙盒路径: NSLog(@"路径%@",NSHomeDirectory()); ------------------------------------------ ...
- iOS 学习 - 6.Objective-C中的各种遍历(迭代)方式
说明:转自文顶顶 一.使用 for 循环 要遍历字典.数组或者是集合,for 循环是最简单也用的比较多的方法 -(void)iteratorWithFor { //////////处理数组////// ...
- 朝花夕拾-android 获取当前手机的内存卡状态和网络连接状态
序言: 人的一生是一个选择的过程. 如果脚下只有一条路,只要一往无前即可,不用担心走错.即使是错也别无它法.然而人是不安分的,况且安于独木桥的行走,其目的地由于没有蜿蜒曲折去遮挡行路人的视线,一往无前 ...