首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery模拟悬停

使用jQuery模拟悬停
EN

Stack Overflow用户
提问于 2011-03-02 23:10:54
回答 4查看 20.3K关注 0票数 8

给定现有的“按钮”

HTML:

代码语言:javascript
复制
 <div id="MB">
    <ul class="list">
       <li id="post-5"><a href="#post-5">5</a></li>
       <li id="post-4"><a href="#post-4">4</a></li>
       <li id="post-3"><a href="#post-3">3</a></li>
       <li id="post-2"><a href="#post-2">2</a></li>
       <li id="post-1"><a href="#post-1">1</a></li>
    </ul> 
 </div>

CSS:

代码语言:javascript
复制
  #MB .list li a {
        float:left;
        color:#333;
        background:#f6f6f6;
        border:1px solid #eaeaea;
        border-right:none;
        padding:0 8px;
        }

   #MB .list li a:hover,
   #MB .list li a:focus {
        color:#fff;
        border:1px solid #333333;
        border-right:none;
        background:#404040;
        text-decoration:none;
        }

我想要模拟“悬停”自动在每个按钮上,顺序,每n秒。

这意味着每隔n秒就有一个按钮被“悬停”(改变颜色等),下一个时间间隔被“关闭”,下一个按钮将“打开”,依此类推……

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-02 23:16:14

代码语言:javascript
复制
#MB .list a:hover,
#MB .list a:focus,
#MB .list .active a {
  /* hover styles */
}

(我已经简化了你的选择器,我也建议尝试删除外部的div,因为这些通常是不必要的,仅仅是ul就足够了)

Javascript悬停:

代码语言:javascript
复制
function setHover() {
    if ($('#MB .list .active').next().length) {
        $('#MB .list .active').next().addClass('active').end().removeClass('active');
    } else {
        $('#MB .list .active').removeClass('active');
        $('#MB .list li:first-child').addClass('active');
    }
}

setInterval(setHover, 1000);
票数 5
EN

Stack Overflow用户

发布于 2011-03-02 23:14:36

我会使用setIntervaljQuery.trigger('mouseover', …)

票数 6
EN

Stack Overflow用户

发布于 2011-03-02 23:14:01

定义第三个选择器,如

#MB .list li a:悬停,#MB .list li a:焦点,#MB .list li a.simFocus {…}

然后根据javascript代码添加和删除基于时间的"simFocus“类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5169449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档