2012-05-30 2 views
0

Im пытается вставить jQuery Spotlight snippet (от Dev7Studios) на моем сайте. Мне нужно разобраться со следующим сценарием:jQuery Spotlight Issue

Наведите указатель мыши на «Div A» и «Div B», чтобы получить подсветку. Мне нужно работать в режиме jQuery no conflict. До сих пор, сценарий я использую:

jQuery.noConflict(); 
jQuery(window).load(function() { 

    jQuery('#A, #B').bind('mouseover', function(){ 
     jQuery(this).spotlight({exitEvent:'mouseover', speed:600}); 

    }); 

}); 

С следующим сценарием, каждый из див получить подсвечивается при наведении курсора мыши, но мне нужно сделать это так, что, когда mouseovered, «Диво B» получает «Div A» подсвечен. Это было бы идеальным решением.

Возможное решение может быть также, что при наведении курсора мыши над на «Div A», «B» Div подсвечивается вместе с Div А.

В этот момент со сценарием у меня есть, только что Div становится выделен , в зависимости от того, что на нем наложено.

Любые идеи, пожалуйста?

Спасибо!

ответ

1

Просто вызовите селектор jQuery на #b после наведения указателя мыши на #a ... как показано ниже.

jQuery('#A').bind('mouseover', function(){ 
    jQuery('#B').spotlight({exitEvent: 'mouseover', speed:600}); 
}); 
+0

Спасибо за помощь. Это сделало трюк с подсветкой, но Div A теперь потерял свое состояние, Div A - кнопка, и она потеряла эффект наведения мыши и кликабельную позицию. Кроме того, с этим кодом появляется прожектор и исчезает imediatelly. Он не ждет, пока я не уберу мышь. Любой способ обойти это? :)) –

+0

Можете ли вы показать мне HTML для DIV A и DIV B? Возможно, соединить его в jsFiddle.net? Это не должно было вызывать каких-либо проблем в отношении того, что вы описали. – Ohgodwhy

+0

Спасибо за ответ @Ohgodwhy Я смогу получить код в jsfiddle позже этим вечером и опубликую его здесь. Спасибо за помощь снова. cheers:)) –

1

Update на OP комментарий:

Вы можете создать карту, какие элементы воздействовать на других .. Может быть, воздействие Z, B воздействие A и т.д. Это определяется вами .. Тогда вам просто перебираем ценности МАП

Демо: http://jsfiddle.net/lucuma/4RFWQ/1/

var map = { 
"#A" : "#B", 
"#B" : "#A", 
"#Z" : "#A" 
}; 

jQuery.each(map, function(key, value) { 
    var val = value; 
    jQuery(key).on('mouseover', function() { 
     jQuery(val).spotlight({exitEvent:'mouseover',  speed:600}); 
    }); 

});​ 

Вы можете также цикл по массиву и связать

Оригинал:

Я думаю, что вы должны сделать что-то вроде этого, чтобы обобщить:

<div id="a" data-coord="b"></div><div id="b" data-coord="a"></div><div id="z" data-coord="b"></div> 

jQuery.noConflict(); 
jQuery(window).load(function() { 

jQuery('#A, #B').bind('mouseover', function(){ 
    jQuery('#' + jQuery(this).attr('data-coord')).spotlight({exitEvent:'mouseover', speed:600}); 

}); 

}); 
+0

Спасибо за вход @lucuma, но, к сожалению, я не смогу перестроить свои divs на этом этапе. Считаете ли вы какие-либо возможные решения, не касаясь html? Использовать только javascript для получения желаемого результата? Спасибо:)) –

+0

@JonathanBell Я обдумал ответ. – lucuma

+0

Еще раз спасибо. Я попробую. Позже завтра и опубликуем его здесь в любом случае, если это будет работать или нет:)) Спасибо. –

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