打开网页右下角广告栏慢慢出现,点击慢慢消失

上半年会坚持每周写几个用纯js实现的功能。

篇一:

功能:打开网页div慢慢从右下角出现,点x慢慢消失。

效果图:

js代码:

window.onload=function(){
    var tardiv = getElement('.content');
    var addHeight=1; //每次循环增加的高度
    tardiv.style.bottom='-200px';
    var timer=setInterval(function(){
        //console.log(tardiv.style.bottom) //  string类型   20px;
         var bottoms = parseInt(tardiv.style.bottom);
        tardiv.style.bottom=bottoms+addHeight+'px';
        if(parseInt(tardiv.style.bottom)===0){
            clearInterval(timer);
        }
    },10)
    var x = getElement('.x');
    var self=this;
    x.addEventListener('click',function(){
        if(self.timer){
            clearInterval(self.timer);
        }
        var timers = setInterval(function(){
        var bottomss = parseInt(tardiv.style.bottom);
        tardiv.style.bottom=bottomss-addHeight+'px'; 
        if(parseInt(tardiv.style.bottom)===-200){
            clearInterval(timers);
        } 
        },10)
    })
    //获取元素方法
    function getElement(el) {
        var els = el.substr(1);
       return el.substr(0,1) ==='#' ? document.getElementById(els): document.getElementsByClassName(els)[0];
    }
}

html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>右下角广告栏打开网页慢慢出现,点击慢慢消失</title>
    <link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
    <div class="content">
       <span class="x">x</span>
    </div>
    <script src="js/one.js"></script>
</body>
</html>

css

div {
    width: 200px; height: 200px; background: red;
    position: fixed; right: 0;
}
span {
    position: absolute; display: inline-block;
    width: 20px; height: 20px; background: black; 
    right: 0; color: white; text-align: center;
    line-height: 20px; cursor: pointer;
}

注意点:

1:js获取样式的方法 el.style.bottom 得到的是string类型, 

2:显示隐藏的div 需要设置样式 position:fixed

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值