首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将当前状态添加到每个列表项中

将当前状态添加到每个列表项中
EN

Stack Overflow用户
提问于 2012-11-26 10:40:03
回答 2查看 100关注 0票数 0

我有一个无序的列表与一些项目,导致另一个div,我显示在悬停。

html

代码语言:javascript
复制
<div class="dotdiv">
  <ul>
    <li>Item</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
  </ul>

   <div class="info-1"></div>
   <div class="info-2"></div>
   <div class="info-3"></div>
</div>

javascript

代码语言:javascript
复制
$(function(){
$('.dotdiv li').hover(function(){
    $('.info-' + $(this).attr('id').replace('li','')).show();
$('.info-' + $(this).attr('id').replace('li','')).css('display', 'block');

},function(){
    $('.info-' + $(this).attr('id').replace('li','')).hide();
$('.info-' + $(this).attr('id').replace('li','')).css('display', 'block');
});
}); 

现在当我在第1,2条上空盘旋时.它是显示的,当我悬停时,项目仍然停留在那里,就像我希望的那样。但现在,如果我回去试着展示其中的任何一个项目,最后一个只能是可见的。因此,我猜我需要更新我的脚本,并确保它的工作,无论您悬停的项目的顺序。

更新

这里是jsfiddle http://fiddle.jshell.net/7QmR5/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-26 12:54:47

如果不想修改html:

代码语言:javascript
复制
$('#pop li').each(function(i, el){
$(this).hover(
    function(){
       $("[id^='info']").eq(i).show().siblings("[id^='info']").hide();
    },
    function(){
       $("[id^='info']").eq(i).show().siblings("[id^='info']").hide();   
    }
)

});

票数 1
EN

Stack Overflow用户

发布于 2012-11-26 10:53:06

您可以按以下方式设置元素的格式

HTML

代码语言:javascript
复制
<li id="1">Item</li>
<div id="info-1"></div>

它允许您执行以下操作

代码语言:javascript
复制
$(".dotdiv > ul > li").hover( function( ) {
    $(".dotdiv > div").hide();
    $("#info-" + $(this).attr("id") ).show();
});

小提琴here

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

https://stackoverflow.com/questions/13563108

复制
相关文章

相似问题

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