【问题标题】:jQuery Spotlight IssuejQuery 聚焦问题
【发布时间】:2012-06-05 02:02:13
【问题描述】:

我试图在我的网站上插入一个 jquery Spotlight sn-p(由 Dev7Studios 提供)。我必须解决以下情况:

我将鼠标悬停在“Div A”上,“Div B”被高亮显示。我必须使用 jQuery 无冲突模式。到目前为止,我使用的脚本是:

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

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

    });

});

使用以下脚本,当鼠标悬停时,每个 div 都会突出显示,但是,我需要使其成为当鼠标悬停“Div A”时,“Div B”被突出显示的方式。这将是理想的解决方案。

可能的解决方案也可以是,当鼠标悬停在“Div A”上时,“Div B”与 Div A 一起突出显示。

此时,使用我的脚本,只有那个 Div 被突出显示,以鼠标悬停在上面。

有什么想法吗?

谢谢!

【问题讨论】:

    标签: jquery spotlight-plugin


    【解决方案1】:

    鼠标悬停在#a 上之后,只需调用#b 上的jQuery 选择器...如下所示。

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

    【讨论】:

    • 感谢您的帮助。高亮显示了这个技巧,但是 Div A 现在确实失去了它的状态,Div A 是一个按钮,它已经失去了鼠标悬停效果和可点击的姿态。此外,使用此代码,聚光灯会立即出现和消失。它不会等到我将鼠标移开。有什么办法可以解决这个问题? :))
    • 你能给我看看 DIV A 和 DIV B 的 HTML 吗?也许把它放在一个 jsFiddle.net 中?这不应该对您所描述的内容造成任何问题。
    • 感谢@Ohgodwhy 的回复,今晚晚些时候我将能够在 jsfiddle 中获取代码并将其发布在这里。再次感谢您的帮助。干杯:))
    【解决方案2】:

    根据 OP 评论更新:

    您可以创建一个元素影响其他元素的地图。也许 A 影响 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});
    
    });
    
    });
    

    【讨论】:

    • 感谢@lucuma 的输入,但不幸的是,在这个阶段我无法重新排列我的 div。在不接触 html 的情况下,您是否想到了任何可能的解决方案?仅使用 javascript 来获得所需的结果?谢谢:))
    • @JonathanBell 我已经更新了答案。
    • 再次感谢。我会试试的。明天晚些时候,无论它是否有效,都会在这里发布:))谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-12-02
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多