Javascript 列悬停

标签 javascript html css twitter-bootstrap

我在这里遇到了一些情况,如果有人能帮助我就太好了。最近我为客户创建了一个包页面,并包含了一个 JS 悬停效果,这样我就可以使用 Bootstrap 中的不同列将鼠标悬停在所有元素上。现在这可能很简单,但我卡住的地方是列之间的短空间,我给出了一个示例图像..

enter image description here

JS:

var classes = ["el1", "el2", "el3", "el4", "el5", "el6", "el7", "el8", "el9","el10","el11","el12", "el13","el14","el15","el16","el17","el18","el19","el20","el21","el22", "el23", "el24","el25" ]; //list of your classes
var elms = {};
var n = {}, nclasses = classes.length;
function changeColor(classname, color) {
    var curN = n[classname];
    for(var i = 0; i < curN; i ++) {
        elms[classname][i].style.backgroundColor = color;
    }
}
for(var k = 0; k < nclasses; k ++) {
    var curClass = classes[k];
    elms[curClass] = document.getElementsByClassName(curClass);
    n[curClass] = elms[curClass].length;
    var curN = n[curClass];
    for(var i = 0; i < curN; i ++) {
        elms[curClass][i].onmouseover = function() {
            changeColor(this.className, "#dbdbdb");
        };
        elms[curClass][i].onmouseout = function() {
            changeColor(this.className, "transparent");
        };
    }
};

HTML:

<div id="packagecontent" class="container-fluid" style="display: block;">
<div class="row">
<div class="clearfix"></div>

<div class="col-xs-4 col-md-4" id="pkg-main-col">
    <div class="row pkg-inner">
    <div class="header-image wp-image-404 size-full" style="visibility: hidden;"></div>
    <div class="pkg-pricing">
        <h5>PRICING</h5>
        <ul class="package-cat" style="text-align:left;">
            <li class="el1">Monthly Pricing (Billed Annually)</li>
            <li class="el2">Monthly Pricing (Billed Monthly)</li>
            <li class="el3">Products</li>
            <li class="el4">Competitors</li>
        </ul>
    </div>

    <div class="pkg-competitor-comparison">
        <h5>COMPETIROR COMPARISON</h5>
        <ul class="package-cat" style="text-align:left;">
            <li class="el5">Products*</li>
            <li class="el6">Prices*</li>
            <li class="el7">Attributes*</li>
            <li class="el8">Images*</li>
            <li class="el9">Related Products*</li>
            <li class="el10">Videos*</li>
        </ul>
    </div>

    <div class="pkg-post-comparison-processing">
        <h5>POST-COMPARISON PROCESSING</h5>
        <ul class="package-cat" style="text-align:left;">
            <li class="el11">Attributes*</li>
            <li class="el12">Images*</li>
            <li class="el13">Related Videos*</li>
            <li class="el14">Videos*</li>
            <li class="el15">Reviews*</li>
            <li class="el16">SEO Friendly product descriptions*</li>
        </ul>
    </div>

    <div class="pkg-support">
        <h5>SUPPORT</h5>
        <ul class="package-cat" style="text-align:left;">
            <li class="el17">Full Knowledge base*</li>
            <li class="el18">Launch guidance*</li>
            <li class="el19" >Email Support*</li>
            <li class="el20">Phone Support*</li>
        </ul>
    </div>

    <div class="pkg-compatibility">
        <h5>COMPATIBILITY</h5>
        <ul class="package-cat" style="text-align:left;">
            <li class="el21">Support all e-commerce software*</li>
        </ul>
    </div>

    <div class="pkg-reporting">
        <h5>REPORTING</h5>
        <ul class="package-cat" style="text-align:left;">
            <li class="el22">User Friendly Dashboard*</li>
            <li class="el23">Import-Export Tool*</li>
            <li class="el24">Easy to print reports*</li>
        </ul>
    </div>

    <div class="pkg-access-security">
        <h5>Security and access</h5>
        <ul class="package-cat" style="text-align:left;">
            <li class="el25">SSL Encription*</li>
        </ul>
    </div>
</div>
</div>

<div class="col-xs-2 col-md-2" id="pkg-col">
    <div class="row pkg-inner">

    <div class="header-image wp-image-404 size-full"> <p>FREE</p></div>
    <div class="pkg-pricing col-data">
        <ul class="package-cat">
            <li class="el1">&pound; 0 / month</li>
            <li class="el2">&pound; 0 / month</li>
            <li class="el3">10</li>
            <li class="el4">1</li>
        </ul>
    </div>

    <div class="pkg-competitor-comparison col-data">
        <ul class="package-cat">
            <li class="el5"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el6"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el7"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el8"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el9"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el10"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-post-comparison-processing col-data">
        <ul class="package-cat">
            <li class="el11"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el12"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el13"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el14"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el15"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el16"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-support col-data">
        <ul class="package-cat">
            <li class="el17"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el18"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el19">24/7</li>
            <li class="el20"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-compatibility col-data">
        <ul class="package-cat">
            <li class="el21"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-reporting col-data">
        <ul class="package-cat">
            <li class="el22"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el23"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el24"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-access-security col-data">
        <ul class="package-cat">
            <li class="el25"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>
   </div>
</div>

<div class="col-xs-2 col-md-2" id="pkg-col">
    <div class="row pkg-inner">
    <div class="header-image wp-image-404 size-full"><p>BASIC</p></div>
    <div class="pkg-pricing col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el1">&pound; 25 / month</li>
            <li class="el2">&pound; 29 / month</li>
            <li class="el3">50</li>
            <li class="el4">1</li>
        </ul>
    </div>

    <div class="pkg-competitor-comparison col-data">
        <ul class="package-cat " style="list-style-type: none;display:block;">
            <li class="el5"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el6"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el7"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el8"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el9"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el10"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-post-comparison-processing col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el11"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el12"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el13"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el14"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el15"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el16"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-support col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el17"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el18"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el19">24/7</li>
            <li class="el20"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-compatibility col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el21"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-reporting col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el22"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el23"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el24"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-access-security col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el25"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>
</div>
</div>

<div class="col-xs-2 col-md-2" id="pkg-col" >
    <div class="row pkg-inner">
    <div class="header-image wp-image-404 size-full"><p>PROFESSIONAL</p></div>
    <div class="pkg-pricing col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el1">&pound; 99 / month</li>
            <li class="el2">&pound; 109 / month</li>
            <li class="el3">unlimited</li>
            <li class="el4">unlimited</li>
        </ul>
    </div>

    <div class="pkg-competitor-comparison col-data">
        <ul class="package-cat " style="list-style-type: none;display:block;">
            <li class="el5"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el6"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el7"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el8"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el9"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el10"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-post-comparison-processing col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el11"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el12"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el13"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el14"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el15"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
            <li class="el16"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-support col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el17"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el18"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el19">24/7</li>
            <li class="el20"><i class="fa fa-check" style="visibility: hidden;;color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-compatibility col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el21"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-reporting col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el22"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el23"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el24"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-access-security col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el25"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>
</div>
</div>

<div class="col-xs-2 col-md-2" id="pkg-col">
    <div class="row pkg-inner">

    <div class="header-image wp-image-404 size-full"><p>ENTERPRISE</p></div>
    <div class="pkg-pricing col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el1">&pound; 249 / month</li>
            <li class="el2">&pound; 269 / month</li>
            <li class="el3">unlimited</li>
            <li class="el4">unlimited</li>
        </ul>
    </div>

    <div class="pkg-competitor-comparison col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el5"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el6"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el7"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el8"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el9"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el10"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-post-comparison-processing col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el11"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el12"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el13"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el14"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el15"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el16"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-support col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el17"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el18"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el19">24/7</li>
            <li class="el20">8/5</li>
        </ul>
    </div>

    <div class="pkg-compatibility col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el21"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-reporting col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el22"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el23"><i class="fa fa-check" style="color:green;"></i></li>
            <li class="el24"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>

    <div class="pkg-access-security col-data">
        <ul class="package-cat" style="list-style-type: none;display:block;text-align:center;">
            <li class="el25"><i class="fa fa-check" style="color:green;"></i></li>
        </ul>
    </div>
</div>
</div>
</div>
</div>

最佳答案

首先,您可以使用 CSS 来执行此操作:

el1.hover{ ... }

指定仅在悬停期间发生的情况。 现在,这是您的操作方法:

方法一:在CSS中创建一个新的div

<ul class='package-cat'> 中的每一行创建一个分区.

<div class="selectBox"/>

然后,在CSS中,设置默认状态为隐藏,并分别设置高度或宽度:

.selectBox{
  visibility: none;
  width: 100%;
  height: 100%;
  background-color: COLOR_WHEN_HOVERING;
}

然后在 CSS 中添加一个悬停,将可见性更改为可见。

.selectBox:hover{
  visibility: visible;
}

多田!

编辑:确保在文本之前创建着色 div,这样它就不会覆盖它。

方法二:用div替换margins/padding并添加class

这个很简单 - 删除其他 div 左侧和右侧的所有边距,并用专门为每个原始 div 之间提供彩色边距而制作的新 div 替换它们。

<div class="marginDiv"/>

CSS:

.marginDiv{background-color: COLOR_WHEN_NOT_HOVERING; width: SPACING;}
.marginDiv:hover{background-color: COLOR_WHEN_HOVERING}

万岁!

关于Javascript 列悬停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27261993/

相关文章:

javascript - 如何使用 Next.js 在 React 应用程序中使用 Google 字体

asp.net - 如何以漏斗形状排列一堆 DIV 标签?

html - XML/XSL 到 HTML 表

javascript - jQuery Select2 : [object Window] in tags value

css - 页面加载时的随机图像作为 Jumbotron 背景

javascript - 同一页面内的偏移链接

javascript - Twitter-bootstrap 3 附加侧边栏菜单在向下滚动时未显示完整

javascript - Firecloud 功能未触发?

javascript - 使用 D3 的 .attr 方法时 this.setAttribute 不是函数

html - 如何并排对齐 ascii 字符和文本?