Показать сообщение отдельно
  #12 (permalink)  
Старый 20.09.2010, 10:53
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от stryker
да не по собственной воле-то
А по чьей?
По теме: что за this.a??? Это чтобы запутать? Если уж захотелось залезть в глобальную область, то чего ж стесняться, так бы и писал: window.a. Хотя это вроде как не принято (не самый хороший тон во всяком случае). Можно было бы хранить предыдущую ячейку в функции. Например, так:
function setColor(){
  if (!arguments.callee.a) arguments.callee.a = arguments[0]
  else arguments.callee.a.style.background = "white"; 
  arguments[0].style.background = "green"; 
  arguments.callee.a = arguments[0];
}
А лучше через замыкания:
var setColor = (function(){
  var storage
  return function(){
    var element = arguments[0]
    if (storage && storage != element) storage.style.background = "white"; 
    element.style.background = "green"; 
    storage = element
  }
}());
Ответить с цитированием