【发布时间】:2013-10-01 16:53:41
【问题描述】:
我有一个 div 元素,我想在单击 div 时更改其背景图像 - 然后在再次单击时将图像更改回原始图像。 div CSS 代码如下,显示了它的 Class 和 ID:
.tab_box
{
width:2%;
height:20%;
position:absolute;
left:100%;
}
#tab_box1
{
background:url('cars.png') no-repeat center center;
background-size:120%;
-moz-background-size:120%;
-o-background-size:120%;
-ms-background-size:120%;
}
我有 3 个其他 div 都使用相同的“类”,然后每个都有一个单独的“id”来给他们单独的图像。
我使用 toggleClass 尝试了以下 j-query/css,但它似乎不起作用:
.one
{
width:2%;
height:20%;
background:url('mots.png') no-repeat center center;
background-size:120%;
position:absolute;
left:100%;
}
<script>
$(document).ready(function(){
$('#tab_box1').click(function() {
$('#tab_box1'').toggleClass("one")
});
});
</script>
关于我哪里出错的任何建议,或者除了 toggleClass 之外还有什么方法可以用来来回切换图像?
【问题讨论】:
-
在 toggleClass 行中看起来像一个额外的刻度线。
-
谢谢 - 但是即使删除,上面的代码仍然不起作用
-
我认为您在 CSS 中的声明不够具体。尝试将
.one更改为#tab_box1.one。 -
另外,请记住,切换类不会删除现有类——它只会添加
.one或删除.one。您不必重新定义所有样式,只需重新定义背景即可。 -
感谢 Chad 关于不需要重新定义所有样式的说明 - 稍微整理了代码 :-)
标签: jquery css image onclick toggle