属性(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. DevExpress v18.1新版亮点——WinForms篇(五)

    用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v18.1 的新功能,快来下载试用新版本! ...

  2. [转]CentOS 6和CentOS 7防火墙的关闭

      CentOS6.5查看防火墙的状态: 1 [linuxidc@localhost ~]$service iptable status 显示结果: 1 2 3 4 5 [linuxidc@local ...

  3. my.cnf配置优化

    MYSQL服务器my.cnf配置文档详解硬件:内存16G[client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-reha ...

  4. jvm 方法区

    方法区在一个jvm实例的内部,类型信息被存储在一个称为方法区的内存逻辑区中.类型信息是由类加载器在类加载时从类文件中提取出来的.类(静态)变量也存储在方法区中. jvm实现的设计者决定了类型信息的内部 ...

  5. magento的必备插件(转)

    标签: 插件 magento magento插件 必备插件 Magento插件 ,插件,我要常见Magento必备插件 .. 都是免费的Magento插件,多而杂,乡亲们自己挑~~ [因收集而强大 & ...

  6. 【计算机视觉】如何使用opencv自带工具训练人脸检测分类器

    前言 使用opencv自带的分类器效果并不是很好,由此想要训练自己的分类器,正好opencv有自带的工具进行训练.本文就对此进行展开. 步骤 1.查找工具文件: 2.准备样本数据: 3.训练分类器: ...

  7. 值得收藏的批处理程序 - imsoft.cnblogs

    文件强力删除.bat @echo off @echo 文件马上被强制删除 @echo 确定吗? pause DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1 虚拟Wi-Fi.ba ...

  8. android 自动拨打电话 挂断电话代码

    页面布局文件代码  (  res下面的layout下面的activity_main.xml代码 ) <RelativeLayout xmlns:android="http://sche ...

  9. GIT与VCS

    GIT 是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制 ...

  10. PythonWeb开发教程(一),开发之前需要准备什么

    什么是web开发呢,其实就是开发一个网站了.那开发网站需要用到哪些知识呢 1.python基础,因为用python开发的,所以python指定要会,最起码你也得会条件判断,循环,函数,类这些知识: 2 ...