zoukankan      html  css  js  c++  java
  • javascript切换效果

    html

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Examples</title>
    <meta name="description" content="">
    <meta name="keywords" content="">
    <link href="" rel="stylesheet">
    <style type="text/css">
    	#box1{
    		100px;
    		height:100px;
    		position: absolute;
    		background:orange;
    		left:200px;
    		opacity:0.5;
    	    top:200px;
    	    z-index: 1;
    	}
    	#box2{
    		100px;
    		height:100px;
    		position: absolute;
    		background:blue;
    		left:300px;
    		opacity: 1;
    		z-index: 2;
    	    top:100px;
    	}
    	#box3{
    		100px;
    		opacity:0.5;
    		height:100px;
    		position: absolute;
    		background:red;
    		left:400px;
    	    top:200px;
    	    z-index: 1;
    	}
    	button{
    		50px;
    		height: 30px;
    
    	}
    </style>
    </head>
    <body>
        <button id="btn2" value = "上"> < </button>
        <button id="btn1" value = "下"> > </button>
        <div id="box1"></div>
        <div id="box2"></div>
        <div id="box3"></div>
    </body>
    </html>
    

    javascript

    <script type="text/javascript" src="startmove.js"></script>
    <script type="text/javascript">
    	window.onload = function(){
    		var oBtn = document.getElementsByTagName('button');
    		var oDiv = document.getElementsByTagName('div');
    
    
    		var arr = [];
            
            //获取每个方块的当前样式,并以数组的方式来保存
    		for(var i = 0 ;i < oDiv.length ; i++){
    			arr.push( [ parseInt( getStyle(oDiv[i] , 'left')) , parseInt( getStyle(oDiv[i] , 'top')) , getStyle(oDiv[i],'opacity') * 100  , parseInt(getStyle(oDiv[i] , 'zIndex'))])
    		}
            console.log(arr)
    
            //上一张
            oBtn[0].onclick = function(){
    
            	//向数组开头添加数组的最后一个元素,并将此元素删除
            	arr.unshift(arr[arr.length-1]);
            	arr.pop(arr[arr.length-1]);          
    
                for(var i = 0; i < oDiv.length ; i ++){
                	startMove(oDiv[i] , { left : arr[i][0] , top : arr[i][1] , opacity : arr[i][2]});
                	oDiv[i].style.zIndex = arr[i][3];
                }
    
            }
            
            //下一张
            oBtn[1].onclick = function(){
    
            	//操作数组,将第一个元素放到数组最后,并将第一个元素删除
            	arr.push(arr[0]);
            	arr.shift(arr[0]);
    
            	//重新赋值
            	for(var i = 0; i < oDiv.length ; i ++){
                	startMove(oDiv[i] , { left : arr[i][0] , top : arr[i][1] , opacity : arr[i][2]})
                }
            }
            
            //获取样式
    		function getStyle(obj, attr) {
    			if (obj.currentStyle) {
    				return obj.currentStyle[attr];
    			} else {
    				return getComputedStyle(obj, false)[attr];//获取样式的最终值,改变之后的值,没有的话就获取css样式的值
    			}
    		}
    	}
    </script>
    

    startmove.js前面已经上传过了,这里就省略了

  • 相关阅读:
    dedecms调用指定栏目名称,链接
    修改 Dedecms 文档文章标题长度的方法
    dedeCMS的arclist标签中limit是什么意思
    DedeCms织梦系统[field:description /]标签如何限制字数?
    mysql 如何更改root密码
    允许phpmyadmin空密码登录的配置方法
    Apache启动失败解决办法
    Apache 配置多域名、二级域名
    使用Auto Layout中的VFL(Visual format language)--代码实现自动布局
    使用UITextField自动格式化银行卡号
  • 原文地址:https://www.cnblogs.com/bestsamcn/p/5101332.html
Copyright © 2011-2022 走看看