【问题标题】:how to make comment div active on hover如何在悬停时使评论 div 处于活动状态
【发布时间】:2015-05-22 16:11:07
【问题描述】:

我有 4 个 div 有 4 个图像。当用户将鼠标悬停在图像上时,评论 div 将与用户评论一起出现。我的问题是我想让第一个图像处于活动状态,并且评论 div 在页面加载时处于活动状态。我已经给出那个 div 的活动类,但我想动态地做。我该怎么做。

这是我的代码:

.media-user-items {
  padding: 240px 0 0px;
  position: relative;
  text-align: center;
  white-space: nowrap;
}
.media-user-items .user-item {
  display: inline-block;
  opacity: 0.6;
  cursor: pointer;
  white-space: normal;
  vertical-align: top;
  -webkit-transition: 0.3s ease opacity;
  -o-transition: 0.3s ease opacity;
  transition: 0.3s ease opacity
}
.media-user-items .user-item.active {
  opacity: 1
}
.media-user-items .user-item.active .user-comment {
  display: block;
}
.media-user-items .user-comment {
  display: none;
  font-size: 16px;
  left: 0;
  line-height: 30px;
  position: absolute;
  top: 80px;
  width: 100%;
}
body:not(.touch) .media-user-items .user-comment-content {
  display: inline-block;
  font-size: 22px;
  max-width: 820px;
}
.user-item:hover .user-comment {
  display: block;
}
<div class="row-fluid media-user-items">
  <div class="span6 user-item">
    <div class="user-comment">
      <div class="user-comment-content">The slice view for #TataValueHomes is awesome. Beautifully crafted engineering product. Great pitch for #SoftwareEngineers</div>
    </div>
    <img src="http://placehold.it/150x150" class="img_circle" />
    <div class="username">XYZ</div>
    <div class="userid user-item">@xyz</div>
  </div>
  <div class="span6 user-item">
    <div class="user-comment">
      <div class="user-comment-content">Drool worthy ur site truly is. Data sciences blew my mind. Showing ph no. to moving out while searching is masterclass!!</div>
    </div>
    <img src="http://placehold.it/150x150" class="img_circle" />
    <div class="username">XYZ</div>
    <div class="userid">@xyz</div>
  </div>
</div>

我如何使用 css 或我需要 jquery 吗??

【问题讨论】:

  • 你需要在哪个悬停上显示评论 div。
  • 我想在每张图片上显示它。每张图片都有自己的评论。
  • @stanze:我已经手动添加了活动类,但我想动态添加它。在页面加载第一个图像和评论框将保持活动状态,然后当我们悬停下一个图像时它变为活动状态。跨度>

标签: jquery html css hover


【解决方案1】:

原版 javascript 解决方案,

  1. 将第一项设置为活动
  2. 为每个项目分配一个鼠标悬停事件监听器
    1. 鼠标悬停在每个项目上时,将当前活动设置为非活动
    2. 将悬停的项目设置为活动

为每个项目分配一个鼠标悬停事件侦听器,在鼠标悬停时删除

(Demo)

(function () {
    "use strict"
    var items = document.getElementsByClassName('user-item'), item;
    items[0].className += ' active';
    for (var i = 0; item = items[i]; i++) {
        item.addEventListener('mouseover', function (e) {
            var activeItems = document.getElementsByClassName('active'), active;
            for(var x = 0; active = activeItems[x]; i++) {
                active.className = active.className.replace(' active', '');
            }
            this.className += ' active';
        }, false);
    }
})();

【讨论】:

  • 它可以工作,但是当我们转到第四张或最后一张图像并再次返回第一张时,它显示最后一张始终处于活动状态???
【解决方案2】:

试试这个:

$('.media-user-items').on('hover', '.img_circle', function() {
    $('.active').removeClass('active');
    $(this).siblings('.user-comment').addClass('active');
});

【讨论】:

  • 感谢您的回答兄弟...我想要这样,请检查页面底部的驱动我们部分。链接:housing.com/in
  • when a user hover over an image the comment div will appear with user comment 有问题
【解决方案3】:

使用jQuery hover 函数。

$('.user-item').hover(function() {
        $(this).addClass('active')
    },
    function() {
        $(this).removeClass('active')
    }
)

【讨论】:

  • 感谢哥们它的工作就像一个魅力。只是第一个问题应该在页面加载时保持活动状态。就像这个链接一样,请检查“什么驱动我们”部分。 housing.com/in
猜你喜欢
  • 1970-01-01
  • 2021-09-24
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多