Я что-то очень сильно туплю с зум эффектом. Сейчас при наведение на ячейку прямоугольную 128*64 пикселя (но так как они у меня накладываются друг на друга, рабочая область 128х32 обведена черной линией), я проверяю попадаю ли я в изометрическую часть ячейки, или на ее соседей (если левее или правее белых линий).
Вся магия в функции 
getBoundingClientRect(). Я, чесслово, не понимаю, по видимому, как работает гугл. Потому, что 'js element screen position' далеко не сразу привел меня к этой чудесной функции. Они мне все твердили про: scrollLeft, clientLeft, offsetLeft! Идиоты.
cellmouseover: function(e){
		if(!e) e = event || window.event;
		var cell = e.target;
		
		//чудо функция! положение ячейки, "начало координат"
		var pos = cell.getBoundingClientRect();
		var cellx=parseInt(cell.getAttribute("data-x")), 
			celly=parseInt(cell.getAttribute("data-y"));
		this.currentdiv = cell.id;
		zd = view.zoomdelta;
		
		posx = pos.left + e.pageX;
		posy = pos.top + e.pageY;
		
		posx = posleft + e.pageX;
		posy = postop + e.pageY;
		//левее первой белой линии
		if(posy < (64*zd - posx) / 2){
			celly--;
			}
		//правее второй белой линии
		else if(posy < (1/2)*(posx - 64*zd)){
			cellx++;
			}
		
		//предыдущая и текущая ячейки
		beforecell = this.currentcell;
		this.currentcell = cellx+"-"+celly;
		//снять выделение с прошлой и одеть на новую ячейки
		if(beforecell != this.currentcell && beforecell != 0)
			$(beforecell).classList.remove('selected');
		$(this.currentcell).classList.add('selected');
	}