所以我正在制作一个可以在两个图像之间切换的图像切换功能。更具体地说,它切换 div 的背景图像。
我使用 jquery .data() 函数作为计数器,其中一个 = 第一个图像,两个 = 切换图像。
这是我正在使用的算法:
- 单击按钮启动功能。
- 当我点击 div 时,如果数据等于“一”,则替换图像并将数据设置为“二”。
- 当我再次单击图像时,将图像设置回原始图像并将数据设置为“一”,以便该功能可以重复。
它似乎在第一次尝试时替换了图像,就像在第一次“if”中一样,但在第二次尝试(else 部分)时它不会再次替换图像。它似乎永远不会到达 else 部分,即使第一个 if 应该返回 false 然后转到 else。
任何帮助将不胜感激。此外,我知道有一个 .toggle() 函数和其他图像切换方法,但我必须使用这个,因为这只是一个较大程序的一小部分,已编辑。
这是代码:
<!DOCTYPE html>
<html>
<head>
<script src="jquery.js"></script>
<link rel="stylesheet" type="text/css" href="mouseovertestlayout.css" />
<script>
function startEdit()
{
$("div").click(function ()
{
if (($(this).data('kangaroo')) == "one")
{
$(this).css('background-image', "url(image2.png)");
$(this).data('kangaroo',"two");
}
else
{
(this).css('background-image', "url(image1.png)");
$(this).data('kangaroo',"one");
}
});
}
</script>
</head>
<body>
<div class="container" data-kangaroo="one" ></div>
<button onclick="startEdit()"> </button>
</body>
</html>
这是我的 .css
.container
{
width: 20px;
height: 20px;
line-height: 0;
border-style:solid;
border-width:1px;
border-color:red;
padding: 20px;
background-repeat:no-repeat;
background-image:url('image1.png');
}