将jquerys .toggle()重写为.click()函数

时间:2015-03-18 21:27:04

标签: javascript jquery html rewrite toggle

当单击“按钮”类的“add.png”图像时,它会将项目添加到购物车并转换为“remove.png”再次单击时,它将从购物车中删除该项目并转换回其原始“ add.png“

这适用于Jquery 1.7及更低版本,但.toggle()功能已从较新版本的Jquery中删除。

期望的结果是使用.click()代替.toggle()

执行相同的确切任务

<img class="button" data-product-id="Item1" src="add.png" />

<script>
$(".button").toggle(function(){
    //first functon here
    simpleCart.add({
     name: $(this).attr("data-product-id"),
     price: .99,
	 quantity: 1
    });
    //we set src of image with jquery
    $(this).attr("src", "remove.png");
},function(){
    //second function here
    //simplecart remove function here, this isjust example, adjust with your code
	simpleCart.add({
     name: $(this).attr("data-product-id"),
     price: .99,
	 quantity: -1
    });
    $(this).attr("src", "add.png");
});

</script>

1 个答案:

答案 0 :(得分:2)

您将使用标志

$(".button").on('click', function(){
    var flag = $(this).data('flag');

    simpleCart.add({
        name     : $(this).attr("data-product-id"),
        price    : .99,
        quantity : (flag ? 1 : -1)
    });

    $(this).attr("src", flag ? "remove.png" : "add.png")
           .data('flag', !flag);
});