javascript - jQuery 改变 CSS 优先级?

标签 javascript jquery html css

在这个例子中:

<div class="test">Lorem Ipsum </div>
<div class="test">Lorem Ipsum </div>
<div class="test">Lorem Ipsum </div>

<button onclick="test();"> click</button>

function test()
{
    $('.test').css("color", "#0f0");

    for(i=0; i<=1000000000; i++)
    {

    }
}

https://jsfiddle.net/t741kz5a/2/

为什么循环在颜色改变之前运行?我怎样才能让它按顺序工作?

最佳答案

浏览器只会在不在函数中时更新。所以它只会在退出函数时更新。

您必须调用异步循环,因此您首先退出该函数然后它继续。

function test()
{
    $('.test').css("color", "#0f0");

    setTimeout(function(){
        for(i=0; i<=1000000000; i++)
        {

        }
    }, 1); // in some cases you might have to give it more then just 1 millisecond
}

force DOM redraw with javascript on demand

关于javascript - jQuery 改变 CSS 优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33928249/

相关文章:

javascript - 点击后将数据输入到文本框

javascript - 在 div 单击时显示和隐藏弹出窗口

javascript - 文件上传使用什么组件?

javascript - JQuery 选择没有类的 tr 元素

javascript - 页面加载后 1 分钟加载一个 div

jquery - 将列表菜单的 ID 发送到 CodeIgniter 中的 ajax get 函数

html - 页面加载时的默认选项卡设置

javascript - 如何按订单运行 JSON 文件和函数

javascript - 如何修复 Magento 客户创建帐户页面中禁用的表单字段

javascript - 删除对象或设置为 null