jquery - 使用 HTML5 创建接受复选框

标签 jquery css html button imagemap

我使用 jquery 创建了一个接受复选框(就像在 stackoverflow.com 中一样)。我用了maphilight.js插件。

详细来说,我创建了一个图像映射,定义了我的区域,并应用了插件,以便该区域在鼠标悬停时突出显示,在单击时更改颜色。

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>

    <script type="text/javascript" src="../jquery.maphilight.js"></script>

    <script>$(function() {

        $('#star,#starlink2').click(function(e) {
            e.preventDefault();
            var data = $('#star').mouseout().data('maphilight') || {};
            data.alwaysOn = !data.alwaysOn;
            $('#star').data('maphilight', data).trigger('alwaysOn.maphilight');
        });
    });</script>

HTML 端:

<img src="image.png" width="300" height="301" class="map" usemap="#features">
<map name="features">

<area id="star" shape="poly" coords="78,83,70,100,52,104,64,115,61,133,78,124,94,133,91,116,104,102,87,101,79,88" href="#" alt="star" class="group" data-maphilight='{"strokeColor":"0000ff","strokeWidth":5,"fillColor":"ff0000","fillOpacity":0.6}'>

</map>

我确信我可以用另一种比使用 maphighlight.js 更好的方法来做到这一点,也许使用一个我不知道的 HTMLs 库。问题是我找不到要放入搜索中的关键字以找到最佳方法。

非常感谢您的建议。

最佳答案

这通常是通过图像 sprite 和 CSS 完成的。我不打算讨论图像 Sprite 是什么,例如我们将一个图像分成两半,左半部分是未接受的图像,右半部分是已接受的图像。如果你愿意,你可以有更多的状态,如果你愿意, Sprite 可以垂直组织。

a.btn-accept {
    width: 50px;
    height: 50px;
    display: block;
    background: #ffffff url("my-image-sprite.png") no-repeat 0px 0px;
}
a.btn-accept:hover, .btn-accept-accepted {
    background-position: -50px 0px;
}

然后用一点 js 在点击时切换接受的类。

$(".btn-accept").click(function(){
    $(this).toggleClass("btn-accept-accepted");
});

关于jquery - 使用 HTML5 创建接受复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16611481/

相关文章:

javascript - jQuery,可选和文本对齐属性问题

javascript - 单击表头时对表中的行进行排序

javascript - 如何使用 CSS 隐藏所有复选框

javascript - 图像 Wordpress 顶部的可点击 figcaption 链接

jquery - Bootstrap 面板中的位置按钮

html - TR 背景颜色与表格背景颜色合并

javascript - 如何链接到(大)网页的某些区域

jquery - 字母数字验证在 jquery 中不起作用

javascript - 代码在手机上不起作用

html - 不检查 “Print background colors and images”在IE中打印背景图片和颜色