20190710-下午js数组和DOM及js应用实例

20190710-下午js数组和DOM及js应用实例

                                        ——Javee

DOM树:

查找DOM元素:

  • document.getElementById - 通过 id 查找 HTML 元素

  • document.getElementsByTagName - 通过标签名查找 HTML 元素

  • document.getElementsByName - 通过名字查找 HTML 元素

  • document.getElementsByClassName - 通过类名找到 HTML 元素

  • document.querySelector -  返回文档中匹配指定 CSS 选择器的一个元素

  • document.querySelectorAll - 通过选择器找到指定CSS选择器的一组元素,如果通过属性选择,则如querySelectAll("[name=gender]"(这个代码css同样适用)


数组操作:

  • .push() - 往数组里面加入元素

  • .join("-") - 以-将数组里面每个元素连成一个字符串,默认用逗号

  • .reverse() - 将数组里面的元素翻转

  • .pop - 将数组中的最后一个元素删掉


js使用实例:漂浮广告(遇到边界就会弹开,鼠标放在广告上就会停止,离开广告继续运动)

 

<!DOCTYPE html>
<html>
     <head>
         <meta charset="utf-8" />
         <title></title>
         <style>
              *{
                  margin: 0;
                  padding: 0;
              }
              #face{
                  position: absolute;
                  z-index: 999;
              }
         </style>
     </head>
     <body>
         <img src="face.jpg" id="face" height="200px"  style="left: 0; top: 0;"
              onmouseover="stop()"
              onmouseout="move()" />
         <script>
              var isTop = true;
              var isLeft = true;
              
              function stop(){
                  cancelAnimationFrame(mymove);
              }
              
              function move(){
                  var node =  document.querySelector("#face");
                  var left =  parseInt(node.style.left);
                  var top = parseInt(node.style.top);
                  
                    //判断广告底部是否碰到浏览器页面底部
                  if(top >= (window.innerHeight -  node.clientHeight))         isTop = false;
                  if(top <= 0)  isTop = true;
                  if(isTop)top++;
                  if(!isTop) top--;
                  
                  if(left >= (window.innerWidth -  node.clientWidth))     isLeft = false;
                  if(left <= 0) isLeft = true;
                  if(isLeft)    left++;
                  if(!isLeft) left--;
                  
                  node.style.top = top + "px";
                  node.style.left = left + "px";
                  
                  mymove =  requestAnimationFrame(move);
              }
              
              var  mymove =  requestAnimationFrame(move);
              
         </script>
     </body>
</html>

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值