JavaScript Var处理函数内部

时间:2016-12-06 11:17:16

标签: javascript jquery var

我的代码:

bool t1 = (curr[i] < 479);
bool t2 = (l[i + shift] < 479);
if (t1 && t2) {
    // ...

在鼠标输入上,我将图像的src保存在var&#34; org_src&#34;中。在鼠标输出时,它应该更改src。不幸的是var&#34; org_src&#34;鼠标输出功能为空。任何帮助为什么?

由于

3 个答案:

答案 0 :(得分:1)

为什么不从事件处理程序中提取org_src变量?

var org_src
$("img.rollover-neu").hover(function() { 
    org_src = this.src
    this.src = this.getAttribute("data-rolloverImage")
}, function() {
    this.src = org_src
});

答案 1 :(得分:0)

使用var org_src是该函数的本地变量,您可以创建全局变量或使用属性来存储数据

$("img.rollover-neu").hover (
        function() { 
            var org_src = $(this).attr('src');
            $(this).attr('org-src',org_src);
            this.src = $(this).attr("data-rolloverImage"); 
        }, 
        function() { 
           var org_src = $(this).attr('org-src');
           this.src = $(this).attr('src', org_src);
       } 
    );

答案 2 :(得分:0)

如果你在一个函数中对一个变量进行delcare,那么它的作用域就是那个函数 - 看看this post以获得对作用域的一个很好的解释

在您的情况下,我会使用数据属性来存储您的原始来源,以便您可以在mouseout上重复使用它:

$("img.rollover-neu").hover(
  function() {
    var image = $(this);
    image.data('org-src', this.src);
    this.src = image.data("rolloverImage");
  },
  function() {
    this.src = $(this).data('org-src');
  }
);