属性(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. PAIR PROJECTS 附加题

    [附加题] 改进电梯调度的interface 设计, 让它更好地反映现实, 更能让学生练习算法, 更好地实现信息隐藏和信息共享. 答:首先,就原有的StopAtEach方法而言,此算法的实现既是非常低 ...

  2. JavaScript事件漫谈

    内容概要: event对象,事件在多个浏览器中的兼容,事件的传播机制,JS自定义事件,jQuery的自定义事件的绑定与触发 Event对象 Event对象属于HTML DOM对象.Event 对象代表 ...

  3. webpack 性能优化 -- 待续

    文章 这篇文章挺不错的, 各方面优化都提到了, 有空研究下 文章 这个文章提出 , 增量打包用 webpack-watch 会让你打包速度飞快,  react不参与打包, 不require, 而是放在 ...

  4. 深度分析:Android中Mms设置页面更改短信中心号码流程

    相关控件初始化方法:showSmscPref private void showSmscPref() {         int count = MSimTelephonyManager.getDef ...

  5. WebGL编程指南案例解析之平移和旋转的math库实现

    这里说的math库实现,指的是,通过一般的加减乘除(角度计算)来更新坐标值. 因为涉及到坐标的变化,所以这里都是基于对顶点着色器的修改 平移: var vShader = ` attribute ve ...

  6. fluent nhibernate映射的数值类型问题

    fluent nhibernate中,数值类型设置不当,就可能会引发一些意想不到错误. 一.引发映射错误 比如,oracle数据库中,字段ID类型是number,结果用codesmith生成代码,实体 ...

  7. Windows Security Login

    /********************************************************************************* * Windows Securit ...

  8. 【机器学习算法】bagging算法

    参考 1.AdaBoost从原理到实现: 完

  9. python海龟绘图

    最近学了python,看了几本书之后,才明白python的强大,python是一种解释型的语言,即每写一行程序就执行一行. 而且在科学计算方面,处理的能力特别的方便. 比如python中的字典dict ...

  10. qwb的骚扰

    题目描述 自从学姐拒绝了qwb之后,qwb开始了疯狂的骚扰.qwb来到了一个公共电话亭,他摸摸口袋只有n元钱. 已知该公用电话的规则是,前3分钟一共收费x元(不到3分钟也要收x元),超过3分钟每分钟收 ...