0

我是 jquery 和 javascript 的新手。我尝试做两件事,但只有一件在工作。我必须改变颜色,以及增加计数器,如下所述。需要代码方面的帮助。例子 -

1 click - 1
2 clicks - 11
5 clicks - 11111

代码 - HTML

<div id="flash"> <p>hello</p>
    </div>
<div id="counter">0</div>​

代码 - JAVASCRIPT

$(document).ready(function() {
$('p').click(function() {
    $(this).animate({
        'color': 'rgb(' + (Math.floor(Math.random() * 256)) + ',' + (Math.floor(Math.random() * 256)) + ',' + (Math.floor(Math.random() * 256)) + ')'
    }, 500);
});
$("#flash").click(function() {
    $('#counter').html(function(i, val) {
        return val * 1 + 1;
    });
});
});​

代码 - CSS

p { font-weight: bold; display: inline; cursor: pointer; }​

这是我尝试使用的代码 - http://jsfiddle.net/crlf/pVHYc/

4

2 回答 2

2

您必须包含 jQueryUI 来为颜色设置动画.animate()

对于计数器,您可以将1s 连接到它,只需检查它是否是0并替换为1或连接 a 1

return val =='0'?1: val + 1; 

http://jsfiddle.net/pVHYc/6/

于 2012-10-29T06:04:32.547 回答
0

解决了动画和输出问题。

动画是由于不包括 jquery UI

输出错误,因为您尝试添加但尝试连接

http://jsfiddle.net/pVHYc/4/

$(document).ready(function() {
 $('p').click(function() {
    $(this).animate({
        'color': 'rgb(' + (Math.floor(Math.random() * 256)) + ',' + (Math.floor(Math.random() * 256)) + ',' + (Math.floor(Math.random() * 256)) + ')'
    }, 500);
});
$("#flash").click(function() {
    $('#counter').html(function(i, val) {
        return val * 1 + 1;
    });
});
});
于 2012-10-29T06:16:07.973 回答