javascript - CSS 或 Javascript href 悬停(或鼠标悬停)显示额外的可点击链接

标签 javascript css

我需要在用户将鼠标悬停在链接上时向他们展示各种编辑选项。我想我已经在某处看到它完成了,但我似乎找不到一个例子。我在这里建立了一个准示例,但它并不能正常工作。此外,我的示例让我有点作弊 -45 的边距只是为了获得一个有效的示例。

这是我的代码如何运行的快照(下面的代码)。

enter image description here

这是我希望它如何运作的快照。

enter image description here

鼠标悬停(或类似的东西)会导致:

  1. 带元素符号的元素将更改为不同的图像图标

  2. 将出现一组图标,用于编辑、删除等操作,并且可以在 href 链接右侧的空白处选择/单击这些图标。

  3. 链接的长度各不相同,因此我尽量不使用绝对定位。

我意识到如果第二个要求是基于真正的悬停或鼠标悬停,则可能无法实现,因为一旦用户不再将鼠标悬停在事件链接上或悬停在事件链接上,图标就会消失并且变得不可选择。有没有办法让整行(可能是链接加上它旁边的 45 像素)保持悬停/鼠标悬停?我不希望用户必须单击才能查看选项。

纯 CSS 可以做到这样吗?或者,是否有 Javascript 解决方案?

    <head>
    <style>
    <!-- 
    #NewsGroup1 {width:600px;}
    a { text-decoration: none; } /* color: #006ab7; */
    a:hover { text-decoration: none; }

    #myoptions {
        display: none; margin-left:-45px;
    }

    a:hover + #myoptions {
        display: inline;
    }
    -->
    </style>
    </head>
    <body>
    <div id="NewsGroup1">
    <ul>
        <li>News</li>
            <ul>
                <li><a target="_blank" href="link1.htm">Link 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a><div id="myoptions">&nbsp;<a href="#">A</a>&nbsp;<a href="#">M</a>&nbsp;<a href="#">E</a>&nbsp;<a href="#">D</a></div></li>
                <li><a target="_blank" href="link2.htm">Link 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a><div id="myoptions">&nbsp;<a href="#">A</a>&nbsp;<a href="#">M</a>&nbsp;<a href="#">E</a>&nbsp;<a href="#">D</a></div></li>
        </ul>

    </ul></div>
    </body>

更新代码:12/12/2011

<html>
<style>
#box1 {width:100px; background-color:yellow;}
li a img  {display:none; margin-right:3px;}
li:hover img {display:inline-block;}
a {margin-right:20px;}
a.extras {margin-right:3px;}
</style>
<body>

<div id="box1">
<ul>
    <li><a href="#">Link1</a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/doc-txt.png" /></a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/flag.png" /></a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/bubble.png" /></a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/checkbox.png" /></a></li>
    <li><a href="#">Link1</a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/doc-txt.png" /></a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/flag.png" /></a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/bubble.png" /></a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/checkbox.png" /></a></li>
    <li><a href="#">Link1</a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/doc-txt.png" /></a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/flag.png" /></a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/bubble.png" /></a><a class="extras" href="#"><img src="http://urlgreyhot.com/files/icons/png/12x12/checkbox.png" /></a></li>
</ul>
</div>

</body>
</html>

最佳答案

我认为它应该这样工作,只需设置两个图像元素的源:

<html>
<body>
<style>
li > img{
    display:none;
}
li:hover img {
    display:inline-block;
}
a{
    margin-right:20px;
}
</style>
<ul>
    <li><a>Link1</a><img/><img/></li>
    <li><a>Link2</a><img/><img/></li>
</ul>
</body>
</html>

关于javascript - CSS 或 Javascript href 悬停(或鼠标悬停)显示额外的可点击链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8364110/

相关文章:

javascript - 使用 Content-Disposition :attachment 在浏览器中重置等待光标

javascript - Angular2 Reactive Forms 禁用表单组中的元素

javascript - Webpack 使用 css 模块并导入整个 css 文件

javascript - 从头开始重新创建 slick js 响应中心模式

javascript - 使用 jquery 水平背景 css 位置

HTML 和 CSS 制作具有悬停效果的图像链接?

javascript - 在html中打印javascript数组

jquery - 通过 jQuery addClass 的 CSS Transitions 插件?

html - 多选忽略宽度!侧边栏中的重要 CSS

CSS 优先级查询