Javascript 奇数/偶数点击的Jquery自定义css
我想用.css旋转一个对象 第一次点击:180° 第二次单击:返回正常位置(+180°) 现在我需要一个函数来检测当前的点击是偶数还是奇数 用这个试过了: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(
$(函数(){
$(“.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')
值。。。