0

我对 Jquery / Javascript 还是很陌生,所以我很难理解如何实现以下内容。

基本上我在站点范围内使用相同的按钮类,我试图让 Jquery 只为被点击的按钮而不是其他按钮提供“点击”类。

这就是我所拥有的...

$(".button-img").click(function()  {
    var clickedButton = $(this);
    if clickedButton.hasClass('clicked') {
        return false;
    }
    clickedButton.addClass('clicked');
});

我想要做的是在这个小提琴中更好地解释 - http://jsfiddle.net/biggee/FQqL8/1/

我知道我在做什么是错误的,虽然我认为我在正确的路线上,但在阅读了一大堆教程之后,我仍然没有得到它。任何帮助将非常感激。

4

3 回答 3

0

jsFiddle Demo

请记住始终检查控制台是否有错误。

Uncaught SyntaxError: Unexpected identifier 

您在这里缺少括号:

if clickedButton.hasClass('clicked') {

应该

if (clickedButton.hasClass('clicked')) {
于 2013-06-16T23:12:33.863 回答
0

嗬!

回答了我自己的问题..

我从早期的尝试方式中错误地设置了 css 类..

前...

.button-img .clicked {background-position:0px -60px;}

现在......(和工作)

.clicked {background-position:0px -60px;}

多谢你们 ;)

于 2013-06-16T23:17:47.243 回答
0

首先,您的代码中有一个解析错误:

if clickedButton.hasClass('clicked') {

缺少必需的括号:

if (clickedButton.hasClass('clicked')) {

其次,您的 CSS 也是错误的:

.button-img .clicked {
    background-position:0px -60px;
}

clicked 匹配内部 类的元素.button-img;你的意思可能是这样的:

.button-img.clicked {
    background-position:0px -60px;
}

.button-img如果它也有类,则它匹配元素clicked

最后,为了让你的代码更简单:

$(".button-img").on('click', function() {
    $(this).addClass('clicked');
});
于 2013-06-16T23:18:09.900 回答