javascript中调用对象和函数之间的区别

用户名

我正在写两个文件-一个是html,一个是JavaScript。所以我叫一个对象

 document.getElementById("nameObj").onmouseover = changeMe;

然后在JavaScript文件中

changeMe = function()
{
 //and here i write the function
}

但是现在我正在尝试优化代码并调用其中包含对象的函数。我创建了部分(其中4个部分),并且尝试使用onmouseover更改颜色onmouseout这是html的代码:

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="style.css">
        <script src="script.js"> </script>
        <title> test 2</title>
    </head>
    <body>
        <header> </header>
        <div id="wrapper">
        <main>
        <section class="mysection" id="section1"> </section>
        <section class="mysection" id="section2"> </section>
        <section class="mysection" id="section3"> </section>
        <section class="mysection" id="section4"> </section>
        </main>
        <div class="clear"> </div>
        </div>
        <footer> </footer>
                <script>
            (function(){
                var sec = document.getElementsByClassName("mysection");
                for(var i=0; i<3; i++)
                {
                    sec[i].onmouseover=changeMe(sec[i], i);
                    sec[i].onmouseout=changeBack(sec[i]);
                }
            })();   
        </script>
    </body>
</html>

这是JS:

function changeMe(t_section, count)
{
    if(count==0)
    {
        t_section.style.background="yellow";
    }
    if(count==1)
    {
        t_section.style.background="blue";
    }
    if(count==2)
    {
        t_section.style.background="green";
    }
    if(count==3)
    {
        t_section.style.background="red";
    }
};

function changeBack(t_section)
{
    t_section.style.background="gray";
};

但这不起作用。我做错什么了?

德米特里·帕夫鲁汀

将您的脚本标签更改为以下代码:

(function(){
  var sec = document.getElementsByClassName("mysection");
  for(var i = 0; i < 4; i++)
  {
    sec[i].addEventListener('mouseover', function() {
      var index = i;
      return function() {
        changeMe(sec[index], index);
      };
    }());
    sec[i].addEventListener('mouseout', function() {
      var index = i;
      return function() {
        changeBack(sec[index]);
      };
    }());
  }
})();

在此处查看有关事件侦听器的信息。
请检查小提琴以获得完整的工作示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在JavaScript中向原型和对象文字添加函数之间的区别

来自分类Dev

:和=与javascript函数之间的区别

来自分类Dev

ISR和函数调用之间的区别?

来自分类Dev

系统调用和库函数之间的区别

来自分类Dev

javascript中命名和匿名函数的原型结构之间的区别?

来自分类Dev

之间的区别!和 != 在 JavaScript 中

来自分类Dev

匿名函数和直接在React组件中调用函数之间的区别

来自分类Dev

AOP中调用和执行之间的区别

来自分类Dev

AOP中调用和执行之间的区别

来自分类Dev

使用函数在setState中返回对象和直接使用对象之间有什么区别?

来自分类Dev

对象和函数之间的方法调用差异

来自分类Dev

在javascript中创建类以创建对象与在Java中创建类和对象之间的区别

来自分类Dev

Swift中的下标和函数之间的区别

来自分类Dev

Javascript-defineProperty和直接在对象上定义函数之间的区别

来自分类Dev

Javascript:DOM元素和对象之间的区别/“未定义不是函数”

来自分类Dev

在对象Javascript中调用Get和Set函数

来自分类Dev

在多个javascript对象中调用setInterval和clearInterval函数

来自分类Dev

javascript中的构造函数和构造函数之间有区别吗?

来自分类Dev

JavaScript中的函数和构造函数之间有什么区别?

来自分类Dev

JavaScript中带名称的函数和带名称的函数之间的区别

来自分类Dev

JavaScript中的函数和构造函数之间有什么区别?

来自分类Dev

静态和非静态函数中“对象obj = new Object()”和“对象obj = null”之间的区别

来自分类Dev

moment js函数和javascript date函数之间的区别

来自分类Dev

JavaScript中let和var之间的区别

来自分类Dev

JavaScript中的forEach和for循环之间的区别

来自分类Dev

JavaScript中layerX和offsetX之间的区别

来自分类Dev

javascript和html中的“ onclick”之间的区别

来自分类Dev

JavaScript 5中for和foreach之间的区别

来自分类Dev

方法定义和对象的函数属性之间的区别

Related 相关文章

  1. 1

    在JavaScript中向原型和对象文字添加函数之间的区别

  2. 2

    :和=与javascript函数之间的区别

  3. 3

    ISR和函数调用之间的区别?

  4. 4

    系统调用和库函数之间的区别

  5. 5

    javascript中命名和匿名函数的原型结构之间的区别?

  6. 6

    之间的区别!和 != 在 JavaScript 中

  7. 7

    匿名函数和直接在React组件中调用函数之间的区别

  8. 8

    AOP中调用和执行之间的区别

  9. 9

    AOP中调用和执行之间的区别

  10. 10

    使用函数在setState中返回对象和直接使用对象之间有什么区别?

  11. 11

    对象和函数之间的方法调用差异

  12. 12

    在javascript中创建类以创建对象与在Java中创建类和对象之间的区别

  13. 13

    Swift中的下标和函数之间的区别

  14. 14

    Javascript-defineProperty和直接在对象上定义函数之间的区别

  15. 15

    Javascript:DOM元素和对象之间的区别/“未定义不是函数”

  16. 16

    在对象Javascript中调用Get和Set函数

  17. 17

    在多个javascript对象中调用setInterval和clearInterval函数

  18. 18

    javascript中的构造函数和构造函数之间有区别吗?

  19. 19

    JavaScript中的函数和构造函数之间有什么区别?

  20. 20

    JavaScript中带名称的函数和带名称的函数之间的区别

  21. 21

    JavaScript中的函数和构造函数之间有什么区别?

  22. 22

    静态和非静态函数中“对象obj = new Object()”和“对象obj = null”之间的区别

  23. 23

    moment js函数和javascript date函数之间的区别

  24. 24

    JavaScript中let和var之间的区别

  25. 25

    JavaScript中的forEach和for循环之间的区别

  26. 26

    JavaScript中layerX和offsetX之间的区别

  27. 27

    javascript和html中的“ onclick”之间的区别

  28. 28

    JavaScript 5中for和foreach之间的区别

  29. 29

    方法定义和对象的函数属性之间的区别

热门标签

归档