2016-12-06 6 views
0

Мой код:JavaScript Var обработки внутри функции

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

На Маус-входа я сохранить СРК изображения внутри вар «org_src». В Mouse-Out он должен изменить src обратно. К сожалению, var "org_src" пуст в функции выключения мыши. Любая помощь почему?

Благодаря

+2

'org_src' только область действия первой функцию, но не второй. – Xufox

+0

Почему бы не назначить его атрибуту данных, чтобы вы могли использовать его и для мыши. Или просто сделать org_src глобальным. Также для атрибутов данных вы можете использовать '$ (this) .data (" rolloverImage ");' –

ответ

0

используя вар вы 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); 
     } 
    ); 
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 
}); 
+0

Спасибо! Ты спасаешь мой день! –

0

Если вы delcare переменной внутри функции, то область действия этой функции - посмотреть на this post для хорошего объяснения обзорного

В вашем случае я бы использовать атрибут данных для хранения вашего первоисточник, так что вы можете просто использовать его на отведении указателя мыши:

$("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'); 
    } 
); 
Смежные вопросы