zoukankan      html  css  js  c++  java
  • html前期js笔记10月23日

    js用法

      属性(attribute)

      function fn(){

          console.log(123)

        }

      fn()

      var a=fn()                 将函数fn()调用结果赋值给a

      1.函数都有返回值

      而方法的本质也是函数,所以也有返回值

      1)获取标签

      document.getElementById()                                 通过id获取

      document.getElementByClassName()                  通过class获取

      document.getElementByTagName()                       通过标签获取

      2)改变标签属性

      var pic=document.getElementByTagName("img");

        pic[0].src="01.jpg";

      3) 改变样式属性

        元素.样式.css属性名="属性值";

       列:pic[0].style.width="100px";

      dom事件(用户在网页中触发的行为)     比如:点击、鼠标滑动、键盘、表单等

      鼠标滑动的效果

      点击 :onclick

      鼠标进入:onmouseenter

      鼠标离开:onmouseleave

      鼠标悬浮:onmouseover

      鼠标移除:onmouseout

      鼠标移动:onmousemove

      鼠标按下:onmousedown

      鼠标抬起:onmouseup

      表单聚焦:onfocus

      表单失去焦点:onblur

      表单内容修改:onchange

      浏览器加载完成: onload

      事件的使用方法必须跟一个函数配合

      1.事件,将事件当作标签属性使用     例如<img src="01.jpg"    onclick="alert(123)"  />

      2.通过事件绑定,将事件当成元素的属性

        pic[0].onclick=function(){

          alert(456)

          }

      因为class也是js的关键字

        所以获取class这个属性时必须使用ClassName来修改、获取

      数组中的元素通过索引进行操作

      

        <div class="aa">
          <div class="bb">
            <img src="img/03.jpg" class="dd" id="imgs"/>
          </div>
          <ul class="cc">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
          </ul>
        </div>

      var arr=["img/01.jpg","img/02.jpg","img/03.jpg","img/04.jpg"]

      var lis=document.getElementsByTagName("li")                //lis是获取li构成的数组

      var tupian=document.getElementsById("imgs")

       for(var i=0;i<arr.length;i++){

        lis[i].onclick=function(){

          console.log(i)           i=4         不管发生什么事,浏览器都向下执行

          }

         }

      js中for循环和事件的关系

        事件的执不执行,和for循环没有关系,都是相互独立的

      所以要解决事件中 i 和 for 匹配

      1.自调用可以解决这个问题

      (function (i){

        lis[i].onclick=function(){

          tupian.src=arrr[i]

          }

        })(i)             但是消耗cpu所以不建议使用

      2.人为定义一个属性,用于存储于for循环 与i

        

        for(var i=0;i<arr.length;i++){
          lis[i].index=i     (人为的定义一个属性)
          lis[i].onclick=function(){
           tupian.src=arr[this.index];
              }

          }

      this是js一个关键字,他是对象,一般用在函数里用于函数内部的关系

      如果对象函数定义前面那么this就指定点前面的:

       <div onclick="fn(this)"></div>

       <script>
        function fn(x){
          x.style.background="blue";
          }
       </script>              如果函数定义时没点,那么this就是window

      2.人为定义属性,将索引存在属性里,需要时候调用(不会无端的消耗CPU)

      

       for(var i=0;i<arr.length;i++){
          lis[i].index=i     (人为的定义一个属性)
          lis[i].onclick=function(){
           tupian.src=arr[this.index];
              }

          }

  • 相关阅读:
    React 获取服务器API接口数据:axios、fetchJsonp
    nvm管理node版本
    windows自定义命令的创建
    目标平台、活动平台 配置,出现未能加载文件或程序集“xxx”或它的某一个依赖项报错
    Quartz.net使用总结
    vs 2010 中类文文件模板的修改
    js获取url参数的两种方法
    遍历文件夹
    简单多条件动态查询的实现
    ajax请求跨域问题
  • 原文地址:https://www.cnblogs.com/diwangkaige/p/9880871.html
Copyright © 2011-2022 走看看