繁体   English   中英

将鼠标悬停在div上时,如何将一个类添加到另一个div?

[英]When hovering over a div, how to add a class to another div?

所以我有一张桌子,包括2格。 每个div包含一个图像和一些文本。 我希望将鼠标悬停在一个div上时,另一个的元素(所有元素)变得模糊。

// HTML

             <table>
                <tbody>
                    <div id="1">
                        <tr>
                            <td rowspan="3"><img src="url"/></td>
                            <td><h2>Lorem ipsum</h2></td>
                        </tr>
                        <tr>
                            <td><p><span class="important">Clients:</span> Lorem / Ipsum</p></td>
                        </tr>
                        <tr>
                            <td><p><span class="important">Scope:</span> Lorem ipsum dolor sit amet</p></td>
                        </tr>
                    </div>    
                        <tr class="separator">
                            <td colspan="2"></td>
                        </tr>
                    <div id="2">    
                        <tr>
                            <td rowspan="2"><img src="url"/></td>
                            <td><h2>Lorem</h2></td>
                        </tr>
                        <tr>
                            <td><p><span class="important">Scope:</span> Lorem ipsum dolor sit amet</p></td>
                        </tr>
                    </div>
                </tbody> 
            </table>

我创建了.blur类,以通过js影响所需的div,但不知何故,它无法正常工作,文本和图像均不会模糊。

// CSS

.blur {
color: transparent;
text-shadow: 0 0 8px rgba(0,0,0,0.5);
 -webkit-filter: blur(10px);}

// JS

$(document).ready(function() {
$('#1').hover(function() {
    $('#2').addClass('.blur');
}, function() {
    $('#2').removeClass('.blur');
});

$('#2').hover(function() {
    $('#1').addClass('.blur');
}, function() {
    $('#1').removeClass('.blur');
});});

这是jsfiddle: http : //jsfiddle.net/52v9y/

我在哪里想念什么?

请参阅此更新的jsfiddle

您不需要. addClassremoveClass函数中指定类时,因为它们接受的唯一参数是类属性。 您的html也是无效的,因为只有tr元素可以是tbody的直接子代。

这不是有效的HTML代码。 您不能将div放在table代码的中间。 这就是为什么它不起作用。

另外,您没有包含jQuery。 我已经更新了小提琴,您可以看一下: http : //jsfiddle.net/52v9y/2/

丢弃div元素以获取有效的html。 正如其他贡献者所建议的那样,选择器中的类名不带租赁点。 而是将类分配给tr元素。 根据您的实际用例,考虑在事件处理程序中调整类选择器(例如$("#1 td.whatever")

展示<div>当悬停在另一个 div 及其子项上时</div><div id="text_translate"><p>我有一个 HTML div,里面有孩子。 我有一个附加到 div 的 jQuery 鼠标悬停事件。 鼠标悬停时,我显示另一个 div,鼠标悬停时,我隐藏它。</p><p> 但是,当我将鼠标悬停在“premiumlink”div 上时,一切正常,但是当我将鼠标移到 div 的一个子项上时,有条件显示的 div 会隐藏,但随后 jQuery 发现父 div 仍在悬停,所以它再次显示它。 然后,如果我将 cursor 移回父 div,则该 div 被隐藏然后再次显示。</p><p> 我怎样才能让鼠标悬停和鼠标悬停适用于所有孩子,而不是这个跳跃的 state?</p><p> 这是我的 HTML</p><pre> &lt;div class="platinumlevel" id="premiumlink"&gt; &lt;h1&gt; &lt;img src="~/Content/Images/colorworld.png" alt="Logo" class="eventimage" /&gt; &lt;a href="@Url.Action("Exhibitor1Attendee", "Home")" class="landing"&gt;Company Name&lt;/a&gt; &lt;/h1&gt; &lt;div id="demopreview" style="display: none;"&gt; I should be displayed when "premiumlink" and all it's children are mouseovered &lt;/div&gt; &lt;/div&gt;</pre><p> JS</p><pre> $("#premiumlink").mouseover(function () { $('#demopreview').show(1000); }).mouseout(function () { $('#demopreview').hide(1000); });</pre></div>

[英]Display <div> when hovering over another div and its children

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将鼠标悬停在一个 div 上时,如何将 class 添加到另一个 div? 将鼠标悬停在另一个div上时如何显示div 当div超过另一个div时添加一个类 当我将鼠标悬停在另一个类上时,我可以在div中添加一个类,而不使用Ember中的jQuery 将鼠标悬停在另一个div上时,将其定位到特定div 展示<div>当悬停在另一个 div 及其子项上时</div><div id="text_translate"><p>我有一个 HTML div,里面有孩子。 我有一个附加到 div 的 jQuery 鼠标悬停事件。 鼠标悬停时,我显示另一个 div,鼠标悬停时,我隐藏它。</p><p> 但是,当我将鼠标悬停在“premiumlink”div 上时,一切正常,但是当我将鼠标移到 div 的一个子项上时,有条件显示的 div 会隐藏,但随后 jQuery 发现父 div 仍在悬停,所以它再次显示它。 然后,如果我将 cursor 移回父 div,则该 div 被隐藏然后再次显示。</p><p> 我怎样才能让鼠标悬停和鼠标悬停适用于所有孩子,而不是这个跳跃的 state?</p><p> 这是我的 HTML</p><pre> &lt;div class="platinumlevel" id="premiumlink"&gt; &lt;h1&gt; &lt;img src="~/Content/Images/colorworld.png" alt="Logo" class="eventimage" /&gt; &lt;a href="@Url.Action("Exhibitor1Attendee", "Home")" class="landing"&gt;Company Name&lt;/a&gt; &lt;/h1&gt; &lt;div id="demopreview" style="display: none;"&gt; I should be displayed when "premiumlink" and all it's children are mouseovered &lt;/div&gt; &lt;/div&gt;</pre><p> JS</p><pre> $("#premiumlink").mouseover(function () { $('#demopreview').show(1000); }).mouseout(function () { $('#demopreview').hide(1000); });</pre></div> 如何通过使用jQuery将鼠标悬停在另一个div上来滑动一个div? 如何通过将鼠标悬停在另一个元素上来更改div的类 jQuery:将鼠标悬停在另一个div上时,如何控制div的不透明度? 当一个div具有切换类时,如何向另一个div添加类?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM