我正在忙着设计一个注册表格。其中一步是选择你的性别:
现在,我们期望的结果是,如果有人点击男性图标,该图标会变为蓝色,而当有人点击女性图标时,则会变成粉色。
当鼠标悬停时,颜色切换功能是有效的,但点击时却无法实现。这是我的HTML代码:
<div id="submenugender">
<div class="submenu"><div class="sprite male" id="setmale"></div></div>
<div class="submenu"><div class="sprite female" id="setfemale"></div></div>
</div>
看起来很简单。所以加载了.sprite
类,它只设置默认的高度和宽度并加载精灵图像。然后加载male
和female
类,其中包含一个background-position
元素:
#registercontainer .submenu .male {
background-position: -7px -462px;
}
#registercontainer .submenu .female {
background-position: -60px -462px;
}
#registercontainer .submenu .male:hover, #registercontainer .submenu .male .active {
background-position: -7px -397px;
}
#registercontainer .submenu .female:hover, #registercontainer .submenu .female .active {
background-position: -60px -397px;
}
这里有一些在HTML中缺失的ID和其他内容,它们只是用于定位的包装器。
正如您所看到的,我在CSS中创建了一个active
类,用于当某人单击时。那里设置的位置是彩色的。
现在,当有人单击图标时,我希望它看到活动类,并更改颜色。这是通过jQuery完成的:
$("#setmale").click(function()
{
$('#registercontainer .submenu .male').addClass('active');
});
$("#setfemale").click(function()
{
$('#registercontainer .submenu .female').addClass('active');
});
但这个愚蠢的东西就是不工作... 我在选择器上犯了什么错误吗?谢谢。
#registercontainer
在哪里? - putvande#registercontainer
是绝对父级,所有内容都存储在其中。它包含单独的背景和边距。运行方式如下:#registercontainer
->#submenugender
->.submenu
->.sprite
->.male/.female
- sushibrain