0

我正在使用这个 jquery 插件,即'The Silky Smooth Marquee'来创建一个选取框。

HTML

<div class="news_marquee">

<a href="1.php">aaaaa</a>  <a href="2.php">bbbb</a>  <a href="3.php">ccc</a>

</div>

Javascript 片段:

$('.news_marquee').marquee().mouseover(function () {
  $(this).trigger('stop');
}).mouseout(function () {
  $(this).trigger('start');
});

结果,将光标放在选框上会div暂停它,但我只想在光标位于类a内的标签上时暂停它news_marque

我尝试使用以下代码

    $('.news_marquee').marquee();
    $('.news_marquee a').mouseover(function () {
    $('.news_marquee').trigger('stop');
    }).mouseout(function () {
    $('.news_marquee').trigger('start');
    });

但这不起作用。

如何实现我的愿望?

编辑:当从左到右选取框开始时,选取框到达左端需要时间,在此期间,如果将鼠标放在左端旁边的空白处,选取框会暂停,但我想暂停它只有当鼠标在a标签上,即把光标放在空白处时,才不应暂停它。

4

3 回答 3

0

我认为这会起作用:

$('.news_marquee a').marquee().mouseover(function () {
  $('.news_marquee').trigger('stop');
}).mouseout(function () {
  $('.news_marquee').trigger('start');
});
于 2013-04-02T13:42:21.440 回答
0

从 Johan Sunden 的回答中得到帮助,并以这种方式找到了解决方案:

$('.news_marquee').marquee().mouseover(function (e) {

    if ($(e.target).is('a')) {

$(this).trigger('stop');    
    }

}).mouseout(function () {
  $(this).trigger('start');
});

编辑:更正了先前粘贴的代码片段

于 2013-04-02T13:56:23.623 回答
0

使用结合 Jquery 方法的目标属性(http://api.jquery.com/is/)。

$('.news_marquee').mouseover(function (e) {
    if ($(e.target).is('a')) {
        // Hovers anchor tag!
    }
}
于 2013-04-02T13:47:55.907 回答