javascript - 最后单击的图像周围的边框

标签 javascript jquery html css

我正在尝试制作一些 <img>元素表现得像 <input type="radio">按钮(已经管理好了),现在我需要通知用户他的选择。为此,我想制作一个 border最后选择的图像周围。

请注意,我有超过 1 行的 radio ,因此用户应该能够点击第一行的一个图像(它应该保持突出显示),然后他必须能够点击第二行,依此类推他的选择仍然突出显示。

.product-info .option img:active
{
    border:1px solid #d9d1d5;
}

示例代码

.images img:active {
    border:3px solid #000;
}
<div class="images">
    <img src="https://cdn.tutsplus.com/net/uploads/legacy/958_placeholders/placehold.gif">
    <img src="https://cdn.tutsplus.com/net/uploads/legacy/958_placeholders/placehold.gif">
    <img src="https://cdn.tutsplus.com/net/uploads/legacy/958_placeholders/placehold.gif">
    <img src="https://cdn.tutsplus.com/net/uploads/legacy/958_placeholders/placehold.gif">
</div>

最佳答案

我会采用稍微不同的方法,不使用任何 javascript。基本思想是你想模仿单选按钮,所以让我们使用单选按钮(和标签)功能......

HTML

<div class="images">
    <input type="radio" name="test" value="1" id="test1">
    <label for="test1">
        <img src="https://cdn.tutsplus.com/net/uploads/legacy/958_placeholders/placehold.gif">
    </label>
    <input type="radio" name="test" value="2" id="test2">
    <label for="test2">
        <img src="https://cdn.tutsplus.com/net/uploads/legacy/958_placeholders/placehold.gif">
    </label>
    <input type="radio" name="test" value="3" id="test3">
    <label for="test3">
        <img src="https://cdn.tutsplus.com/net/uploads/legacy/958_placeholders/placehold.gif">
    </label>
    <input type="radio" name="test" value="4" id="test4">
    <label for="test4">
        <img src="https://cdn.tutsplus.com/net/uploads/legacy/958_placeholders/placehold.gif">
    </label>
</div>

CSS

input[type="radio"] {display:none;}
input[type="radio"]:checked+label img {border:3px solid #000;}

And the fiddle

解释

如果设置正确,单击标签会检查关联的单选按钮/复选框(并将焦点放在其他类型的字段上)。我将此默认行为与“相邻兄弟”CSS 选择器 +:checked 伪选择器结合使用,以定位相邻标签及其 img child 。这样做的一个附加值是您可以完全将其作为表单发布,它将发布单选按钮值...

关于javascript - 最后单击的图像周围的边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31138738/

相关文章:

javascript - (JavaScript 和 HTML)单击时更改按钮的不透明度

javascript - Google 饼图工具提示 z-index

jquery - 对文本字段使用模糊

javascript - 连接没有索引 0 的 JSON 数组对象未定义

HTML/CSS根据<p>元素制作特定的边框

html - 计算从自动到像素的宽度,然后在 LESS CSS 中按像素添加

javascript - 为什么 ava 无法比较对象列表和对象文字列表?

javascript - AngularJs 强制浏览器清除缓存

javascript - $(window).load(function()) 和 NProgress JQuery 插件。页面已完全加载,但 NProgress 仍在运行

javascript - 将此颜色匹配游戏更改为 js 和 jquery 中的图像匹配