进度条进度的border-radius

时间:2013-09-26 09:53:51

标签: jquery css

当条形尚未达到100%时,我想保持边缘没有圆角效果..我所做的是使用如果然后更改条形的css,但它落后一步..看看< / p>

http://jsfiddle.net/xjkhH/

即使达到100%,你也需要再次击中

$('#test').on('click', function (e) {
    $progress_bar = $('#progressbarr');

    //convert to percent
    var progressbar_width;


    progressbar_width = Math.floor(100 * ($progress_bar.find('div').width()) / $progress_bar.width());

    var i = progressbar_width + 10; // change in percent

    if (i < 101) {


        $progress_bar.find('div').css('width', (i + '%'));

        $progress_bar.find('span').text(i + '%');


    } else {
        $progress_bar.find('div').css('border-top-right-radius', '4px');
        $progress_bar.find('div').css('border-bottom-right-radius', '4px');

    }

});

4 个答案:

答案 0 :(得分:4)

你可以这样做:

if (i <= 100) {


        $progress_bar.find('div').css('width', (i + '%'));

        $progress_bar.find('span').text(i + '%');
        if(i === 100)
            $(this).triggerHandler('click');

    }

DEMO

答案 1 :(得分:3)

保持简单这就是你所需要的(CSS):

overflow:hidden;

代表#progressbarr:)

<强> DEMO

答案 2 :(得分:1)

<强> DEMO

只需在您的else语句

之前添加以下代码即可
$progress_bar.find('div').css('border-top-right-radius', '4px');
$progress_bar.find('div').css('border-bottom-right-radius', '4px');

答案 3 :(得分:0)

只需使用以下代码

即可
$('#test').on('click', function (e) {
    $progress_bar = $('#progressbarr');

    //convert to percent
    var progressbar_width;


    progressbar_width = Math.floor(100 * ($progress_bar.find('div').width()) / $progress_bar.width());

    var i = progressbar_width + 10; // change in percent

    if (i < 101) {


        $progress_bar.find('div').css('width', (i + '%'));

        $progress_bar.find('span').text(i + '%');
        if( i == 100) {
            $progress_bar.find('div').css('border-top-right-radius', '4px');
        $progress_bar.find('div').css('border-bottom-right-radius', '4px');
        }

    }

    // if
});