css怎么实现百叶窗滚动效果

发布时间:2021-08-09 11:09:57 作者:chen
来源:亿速云 阅读:127

这篇文章主要讲解了“css怎么实现百叶窗滚动效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css怎么实现百叶窗滚动效果”吧!

代码如下:

<!<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        *{
            margin:0;
            padding:0;
        }
         #ul1{
            width:250px;
            height:auto;
            float:left;
            border-top:1px solid #000;
            margin:20px;
        }
        li{
            list-style:none;
            width:100%;
            height:30px;
            line-height:30px;
            overflow:hidden;
            position:relative;
            border-bottom:1px dotted #333;
        }
        li div{
            position:absolute;
            top:-30px;
        }
        li div p{
            height:30px;
            letter-spacing:5px;
        }
       
    </style>
</head>
<body>
    <ul id="ul1">
        <li>
            <div>
                <p>1111111</p>
                <p>2222222</p>
            </div>
        </li>
        <li>
            <div>
                <p>3333333</p>
                <p>4444444</p>
            </div>
        </li>
        <li>
            <div>
                <p>5555555</p>
                <p>6666666</p>
            </div>
        </li>
        <li>
            <div>
                <p>7777777</p>
                <p>8888888</p>
            </div>
        </li> 
    </ul>
</body>
<script type="text/javascript">
function startMove(obj,json,endFn){
	
		clearInterval(obj.timer);
		
		obj.timer = setInterval(function(){
			
			var bBtn = true;
			
			for(var attr in json){
				
				var iCur = 0;
			
				if(attr == 'opacity'){
					if(Math.round(parseFloat(getStyle(obj,attr))*100)==0){
					iCur = Math.round(parseFloat(getStyle(obj,attr))*100);
					
					}
					else{
						iCur = Math.round(parseFloat(getStyle(obj,attr))*100) || 100;
					}	
				}
				else{
					iCur = parseInt(getStyle(obj,attr)) || 0;
				}
				
				var iSpeed = (json[attr] - iCur)/8;
			iSpeed = iSpeed >0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
				if(iCur!=json[attr]){
					bBtn = false;
				}
				
				if(attr == 'opacity'){
					obj.style.filter = 'alpha(opacity=' +(iCur + iSpeed)+ ')';
					obj.style.opacity = (iCur + iSpeed)/100;
					
				}
				else{
					obj.style[attr] = iCur + iSpeed + 'px';
				}
				
				
			}
			
			if(bBtn){
				clearInterval(obj.timer);
				
				if(endFn){
					endFn.call(obj);
				}
			}
			
		},30);
	
	}
	
	
	function getStyle(obj,attr){
		if(obj.currentStyle){
			return obj.currentStyle[attr];
		}
		else{
			return getComputedStyle(obj,false)[attr];
		}
	}
</script>
<script>
    window.onload=function(){
        var ul1=document.getElementById("ul1");
        
        toShow(ul1);
        
        function toShow(obj){
            var aDiv=obj.getElementsByTagName("div");
            var inow=0;
            var timer=null;
            var btn=true;
            
            setInterval(function(){
                toChange();
            },4000);
            
            function toChange(){
                timer = setInterval(function(){
                    
                   if(inow==aDiv.length){
                       clearInterval(timer);
                       inow=0;
                       btn=!btn;
                       
                   }else if(btn){
                        startMove(aDiv[inow],{top:0});
                        inow++;
                   }else{
                       startMove(aDiv[inow],{top:-30});
                        inow++;
                   }
                },100);
            }
        }
    }
</script>

感谢各位的阅读,以上就是“css怎么实现百叶窗滚动效果”的内容了,经过本文的学习后,相信大家对css怎么实现百叶窗滚动效果这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 怎么利用css实现虚线边框滚动效果
  2. UnityShader实现百叶窗效果

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css

上一篇:基于Spring Boot不同环境如何使用不同的配置方法

下一篇:JVM运行时内存使用情况监控的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》