Javascript 奇数/偶数点击的Jquery自定义css

Javascript 奇数/偶数点击的Jquery自定义css,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想用.css旋转一个对象 第一次点击:180° 第二次单击:返回正常位置(+180°) 现在我需要一个函数来检测当前的点击是偶数还是奇数 用这个试过了: $(函数(){ $(“.board元素”)。查找(“.category div”)。单击(函数(){ $(this).parent().parent().find(“.board boards”).slideToggle(1000); var clicks=$(this.data('clicks'); 如果(单击){ $(this.css(

我想用.css旋转一个对象 第一次点击:180° 第二次单击:返回正常位置(+180°)

现在我需要一个函数来检测当前的点击是偶数还是奇数

用这个试过了:

$(函数(){
$(“.board元素”)。查找(“.category div”)。单击(函数(){
$(this).parent().parent().find(“.board boards”).slideToggle(1000);
var clicks=$(this.data('clicks');
如果(单击){
$(this.css(“转换”、“无”);
}否则{
//第一次点击
$(this.css(“变换”、“旋转(180度)”);
}
});

});您似乎没有在任何地方设置
数据('clicks')

$(function() {
    $(".board-element").find(".category div").click(function() {
        $(this).parent().parent().find(".board-boards").slideToggle(1000);
        var clicks = $(this).data('clicks');
        // Save the new flag value
        $(this).data('click', true);
        if (clicks) {
            $(this).css("transform", "none");
        } else {
            //first click
            $(this).css("transform", "rotate(180deg)");
        }

    });

});
注意事项:

  • 您应该避免使用类似于
    .parent().parent()
    的方法,而应使用
    最近('.board element')
    或类似方法

@dfsq发布了一个更干净的解决方案。这只是为了解释你的错误:)

你似乎没有在任何地方设置
数据('clicks')

$(function() {
    $(".board-element").find(".category div").click(function() {
        $(this).parent().parent().find(".board-boards").slideToggle(1000);
        var clicks = $(this).data('clicks');
        // Save the new flag value
        $(this).data('click', true);
        if (clicks) {
            $(this).css("transform", "none");
        } else {
            //first click
            $(this).css("transform", "rotate(180deg)");
        }

    });

});
注意事项:

  • 您应该避免使用类似于
    .parent().parent()
    的方法,而应使用
    最近('.board element')
    或类似方法

@dfsq发布了一个更干净的解决方案。这只是为了解释错误所在:)

您可以使用一个触发器变量,在动画2个方向后更改其值(您必须在函数之外对其进行本地化):


您可以使用触发器变量,在动画2个方向后更改其值(您必须在函数之外对其进行序列化):


更干净的方法是切换类名,这样您就不必处理点击次数:

$(".board-element").find(".category div").click(function() {
    $(this).parent().parent().find(".board-boards").slideToggle(1000);
    $(this).toggleClass('rotate');    
});
CSS:

。旋转{
变换:旋转(180度);
}

另外一个好处是,如果您决定支持供应商前缀,则不必为此更改javascript代码,只需扩展CSS即可。

更干净的方法是切换类名,这样您就不必处理点击次数:

$(".board-element").find(".category div").click(function() {
    $(this).parent().parent().find(".board-boards").slideToggle(1000);
    $(this).toggleClass('rotate');    
});
CSS:

。旋转{
变换:旋转(180度);
}

另外一个好处是,如果您决定支持供应商前缀,您不必为此更改javascript代码,只需扩展CSS。

您似乎没有在任何地方设置
数据('clicks')
值……您似乎没有在任何地方设置
数据('clicks')
值。。。