2009-11-17 3 views
0

У меня есть объекты JavaScript некоторые, такие, как это (это псевдопользователей, так что я знаю, если синтаксис является неправильным):Обнаружение, если положение мыши находится в пределах набора правил позиции?

[{ "divid":"1","x1":"35","y1":"100","height":"150","width":"150" }, 
{ "divid":"2","x1":"45","y1":"110","height":"150","width":"150" }, 
{ "divid":"3","x1":"55","y1":"120","height":"150","width":"150" }, 
{ "divid":"4","x1":"65","y1":"130","height":"150","width":"150" }] 

И я curruently определения положения мыши с JQuery, который прекрасно, но ...

Я хочу определить, когда я над одной из этих позиций автоматически возвращать первый или несколько столбцов этого набора JavaScript почти так же, как я его запрашиваю, если позиция находится между одним из них, возвращающим список столбцов.

Я не могу себе представить, что мне пришлось бы делать .each() над всеми из них при каждом изменении положения мыши? Может быть, я бы ...

Если кто-то сделал что-то подобное, прежде чем указывать мне в правильном направлении.

Благодаря -Josh

ответ

1

Самый простой способ сделать это может быть абсолютной позиции некоторые динамически создаваемые дивы и назначить событие MouseOver им. Они должны иметь высокий индекс z, быть невидимыми и плавать над другим контентом.

0

Вы можете получить offSet от вас мусс, в зависимости от выбранной парадигмы, скажем, ваш родительский div, , затем сравните возвращаемые значения с тем, который вы получите от своего json!

getposOffset:function(what, offsettype){ 
    var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop; 
    var parentEl=what.offsetParent; 
    while (parentEl!=null){ 
     totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop; 
     parentEl=parentEl.offsetParent; 
    } 
    return totaloffset; 

если он соответствует, тогда запустите событие, которое покажет, что вам нужно!

0

Я не знаю, если эта идея будет работать для того, что вы хотите, но я сделал немного думать вне коробки ...

Как насчет использования карты изображения? : P

Он требует минимального кодирования и обработки, и он работает! Я наложил отображаемое изображение и добавил события зависания в областях. Я опубликовал demo here - это не идеально, но больше доказательство концепции.

Смежные вопросы