属性(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];
          }

      }

js用法的更多相关文章

  1. xss其他标签下的js用法总结大全

    前段时间我遇到一个问题,就是说普通的平台获取cookie的语句为↓           Default <script src=js地址></script> 1 <scr ...

  2. jquery.validate.min.js 用法方法示例

    页面html 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  3. jquery.cookie.js 用法

    jquery.cookie.js 用法   一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 j ...

  4. 移动端下拉刷新,iScroll.js用法(转载)

    本文转载自: iScroll.js 用法参考 (share)

  5. jq和js用法:入口写法

    jq和js入口写法demo: <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  6. iScroll.js 用法参考 (share)

    分享是传播.学习知识最好的方法 以下这篇文章是iScroll.js官网的中文翻译,尽管自己英文不好,但觉得原作者们翻译的这个资料还是可以的,基本用法介绍清楚了.如果你英文比较好的话,可以看看官网的资料 ...

  7. velocity.js用法整理1

    velocity.js 此框架相对于JQ的运动算法, 有很大的优势. 例如,A和B两个元素,position:absolute;  top:0; 现在让A元素用JQ的animate,B用velocit ...

  8. dva.js 用法总结

    dva.js是阿里前端团队开发的一个基于react.redux.webpack的一个前端框架,他能够实现react-redux-webpack环境一键部署,能帮前端工程师节省不少环境搭建的时间.而且经 ...

  9. iscroll.js 用法介绍

    iscroll-5中文文档:http://wiki.jikexueyuan.com/project/iscroll-5/ 概要 iScroll 4 这个版本完全重写了iScroll这个框架的原始代码. ...

  10. 模板引擎doT.js用法详解

    作为一名前端攻城师,经常会遇到从后台ajax拉取数据再显示在页面的情境,一开始我们都是从后台拉取再用字符串拼接的方式去更达到数据显示在页面! <!-- 显示区域 --> <div i ...

随机推荐

  1. MySQL5.7 主从复制配置

    一.主从复制原理 MySQL 主从复制是一个异步的复制过程,主库发送更新事件到从库,从库读取更新记录,并执行更新记录,使得从库的内容与主库保持一致.每一个主从复制的连接,都有三个线程.拥有多个从库的主 ...

  2. 添加MyEclipse WebSphere Portal Server支持(一)

    [周年庆]MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] 一.支持WebSphere Portal Server 本文档介绍了如何支持和开发 We ...

  3. 《JAVA---day03---运算符》

    /*[位运算符] 运算符: 运算 范例 说明 <<: 左移 3<<2=12--->3*2*2=12 >>: 右移 3>>2=1---->3/ ...

  4. L212

    Just 33 minutes into the New Year, NASA's New Horizons probe made space exploration history, flying ...

  5. 几个你所不知道的技巧助你写出更优雅的vue.js代码

    1. watch 与 computed 的巧妙结合 如上图,一个简单的列表页面. 你可能会这么做: created(){ this.fetchData() }, watch: { keyword(){ ...

  6. cocos2dx 3.1.1移植安卓apk (lua项目交叉编译 mac环境下)

    cocos2dx 3.1.1 lua项目安卓交叉编译 mac环境下 本文基于ant,sdk,ndk,adt等软件和环境已经事前设置好 1\新建项目 在mac的终端下输入命令: cocos new te ...

  7. A+B for Input-Output Practice (VII)

    A+B for Input-Output Practice (VII) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...

  8. 最大似然估计和最大后验概率MAP

    最大似然估计是一种奇妙的东西,我觉得发明这种估计的人特别才华.如果是我,觉得很难凭空想到这样做. 极大似然估计和贝叶斯估计分别代表了频率派和贝叶斯派的观点.频率派认为,参数是客观存在的,只是未知而矣. ...

  9. 任务02——安装 Intellj IDEA,编写一个简易四则运算小程序,并将代码提交到 GitHub

    github地址:https://github.com/ErhuoHome/First.git 安装jdk与intellij idea没有太大问题,以前安装过eclipse 在程序方面,由于对真分数的 ...

  10. Dubbo 版 Helloworld

    使用工具:MAVEN.IDEA.Spring.Dubbo.Zookeeper 直接上代码 项目结构: 步骤如下: 搭建MAVEN项目,添加相关依赖 pom.xml <!--Zookeeper-- ...