Jquery progressbar随机图像宽度

时间:2014-05-22 15:16:03

标签: javascript jquery css

我真的不知道我做错了什么。我想将图像的宽度更改为0 - 100%的随机数。有人能告诉我我做错了吗?

function progress(){


    $("body").append("<div class='main_div'></div>");

    var x = Math.floor(Math.random() * 10) + 1;
    var x = 5;

    for(var i = 0; i < x; i++){


        $(".main_div").append("<div class='statusbar'></div>");
        $(".statusbar:nth-child(" + x + ")").append("<img src='project_status.gif'>");

        var c = Math.floor(Math.random() * 100) + 1;
        $(".statusbar:nth-child(" + x + ") img").css({ "width", "(" + c +")%" });

    }

}

2 个答案:

答案 0 :(得分:0)

Math.floor()函数中存在错误:而不是

Math.floor(Math.random() * 10) + 1;

应该是

Math.floor((Math.random() * 10) + 1));

Math.floor括号内的+1。

我不知道它是否有用,但我之前在这里制作了一个随机大小的进度条:http://jsfiddle.net/cu22W/10/

答案 1 :(得分:0)

问题在于这句话:

$(".statusbar:nth-child(" + x + ") img").css({ "width", "(" + c +")%" });

您应该阅读JQuery .css()函数:http://api.jquery.com/css/

但是当.css()函数与{ }括号一起使用时,语法与CSS本身相同。

因此,对于你的陈述,正确的方法是:

.css({ width : c +"%" })

或者,如果你想按照它的方式保留它,只需删除{ }括号:

.css( "width", c +"%")

我也很确定你不需要在c中包裹()