博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
手写js面向对象选项卡插件
阅读量:4979 次
发布时间:2019-06-12

本文共 3557 字,大约阅读时间需要 11 分钟。

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>无缝滚动</title>
    <style type="text/css">
        body,ul{margin: 0;padding: 0;}
        li{list-style: none;}
        body{background: url("images/bg.jpg");}
        #div1,#div4{width: 520px;background: rgba(0,255,255,0.6);height: 160px;overflow: hidden;
                    position: absolute;left: 200px;}
        #div1 ul,#div4 ul{position: absolute;left: 10px;top: 10px;}
        #div1 ul li,#div4 ul li{float: left;margin-right: 10px;width: 160px;height: 140px;
                        overflow: hidden;margin-bottom: 10px;}
        #div2,#div3{width: 180px;background: rgba(0,255,255,0.6);height: 460px;overflow: hidden;
                    position: absolute;top:0px;left: 0px;}
        #div2 ul,#div3 ul{position: absolute;left: 10px;top: 10px;}
        #div2 ul li,#div3 ul li{width: 160px;height: 140px;
                        overflow: hidden;margin-bottom: 10px;}    
        #div4{bottom: 0;}
        #div3{left: 740px;}
        #scroll{width: 920px;height: 460px;position: relative;top: 130px;left: 50%;margin-left: -460px;}            
        #scroll h3{font-size: 50px;text-shadow:2px 2px 4px #f00,-2px -2px 4px #f0f,6px 6px 5px #ff0;
                    position: absolute;top: 50%;left: 50%;line-height:100px;height: 100px;
                    margin:-50px 0 0 -260px;color: rgba(255,255,255,0.6);
                    background: rgba(255,255,255,0.6);width: 520px;text-align: center;}                
    </style>
    <script type="text/javascript">
        function startScroll(id,dir,iSpeed){
            var oUl=document.getElementById(id).getElementsByTagName('ul')[0];
            oUl.innerHTML+=oUl.innerHTML;
            if (dir=="left"||dir=="right") {
                oUl.style.width=oUl.offsetWidth*2+"px";
            }
            else if(dir=="top"||dir=="bottom"){
                oUl.style.top=oUl.offsetHeight*2+"px";
            };
            
            var oTimer=null;
            oTimer=setInterval(fnScroll,30);
            oUl.οnmοuseοver=function(){
                clearInterval(oTimer);
            }
            oUl.οnmοuseοut=function(){
                oTimer=setInterval(fnScroll,30);
            }
            function fnScroll(){
                if (dir=="left"||dir=="right") {
                    if (oUl.offsetLeft<-oUl.offsetWidth/2) {
                        oUl.style.left=0;
                    };
                    if (oUl.offsetLeft>0) {
                        oUl.style.left=-oUl.offsetWidth/2+"px";
                    };
                    if (dir=="left") {
                        oUl.style.left=oUl.offsetLeft-Math.abs(iSpeed)+"px";
                    }else{
                        oUl.style.left=oUl.offsetLeft+Math.abs(iSpeed)+"px";
                    }
                    
                }
                else if(dir=="top"||dir=="bottom"){
                    if (oUl.offsetTop<-oUl.offsetHeight/2) {
                        oUl.style.top=0;
                    };
                    if (oUl.offsetTop>0) {
                        oUl.style.top=-oUl.offsetHeight/2+"px";
                    };
                    if (dir=="top") {
                        oUl.style.top=oUl.offsetTop-Math.abs(iSpeed)+"px";
                    }else{
                        oUl.style.top=oUl.offsetTop+Math.abs(iSpeed)+"px";
                    }
                }    
            }    
        }
        window.οnlοad=function(){
            startScroll("div1","right",1);
            startScroll("div2","top",1);
            startScroll("div3","bottom",1);
            startScroll("div4","left",1);
        }
    </script>
</head>
<body>
<div id="scroll">
    <h3>手写JS无缝滚动插件</h3>
    <div id="div1">
        <ul>
            <li><a href="javascript:;"><img src="images/1.jpg" alt=""></a></li>
            <li><a href="javascript:;"><img src="images/2.jpg" alt=""></a></li>
            <li><a href="javascript:;"><img src="images/3.jpg" alt=""></a></li>
        </ul>
    </div>
    <div id="div2">
        <ul>
            <li><a href="javascript:;"><img src="images/1.jpg" alt=""></a></li>
            <li><a href="javascript:;"><img src="images/2.jpg" alt=""></a></li>
            <li><a href="javascript:;"><img src="images/3.jpg" alt=""></a></li>
        </ul>
    </div>
    <div id="div3">
        <ul>
            <li><a href="javascript:;"><img src="images/1.jpg" alt=""></a></li>
            <li><a href="javascript:;"><img src="images/2.jpg" alt=""></a></li>
            <li><a href="javascript:;"><img src="images/3.jpg" alt=""></a></li>
        </ul>
    </div>
    <div id="div4">
        <ul>
            <li><a href="javascript:;"><img src="images/1.jpg" alt=""></a></li>
            <li><a href="javascript:;"><img src="images/2.jpg" alt=""></a></li>
            <li><a href="javascript:;"><img src="images/3.jpg" alt=""></a></li>
        </ul>
    </div>
</div>
    
</body>
</html>

效果图:

转载于:https://www.cnblogs.com/jiechen/p/4979198.html

你可能感兴趣的文章
[zz]Ubuntu gedit中文乱码问题
查看>>
任志强:松房贷等政策出台后 房价将U型缓慢回升
查看>>
计算机组成原理笔记
查看>>
PHP5.4 + VS2010 WIN8 x64写扩展环境搭建
查看>>
Java中的内部类
查看>>
为什么在java持久类中属性应该被定义为包装类型
查看>>
把tomcat服务器配置为windows服务的方法
查看>>
js外部文件问题
查看>>
PM和风险管理
查看>>
POJ 2823 (滑动窗口)
查看>>
Leetcode-905 Sort Array By Parity(按奇偶校验排序数组)
查看>>
cmcc wlan 账号记住密码了,现在想换个账号使用,
查看>>
Java集合类ArrayList循环中删除特定元素
查看>>
大型网站优化-memcache技术
查看>>
How to support comparators in our sort implementations?
查看>>
微信网页版前端源码分析(一)源码结构和公众号处理逻辑
查看>>
数据库基础知识
查看>>
第一部分绪论 第一章
查看>>
【bzoj4987】Tree【树形dp】
查看>>
iontify
查看>>