使用jquery脚本进行页面抖动onload

时间:2014-08-08 13:46:56

标签: javascript jquery

我做了很多"后期制作" jquery和逻辑上,当页面加载时,jquery脚本加载需要几秒钟,导致臭名昭着的" jitter"影响。现在我陷入了一种特殊的困境。我操纵HTML结构的唯一方法是使用jQuery。我无法访问HTML。我已经附上了我的jQuery代码,想知道最好的方法是加快速度或使事情变得更好。

$(document).ready(function() {
    //Remove container class from masthead
    $('#masthead').removeClass('container');

    //Move search bar to navbar
    $('#search').unwrap();
    $('.nav.navbar-nav').append($('#search'));
    $('#search').removeClass('text-right');
    $('#search').addClass('pull-right');

    //Logo size
    $('.pageLogo').children('img').css('width', '100px');

    $('.nav.navbar-nav').append('<li class="dropdown"><a href="#" class="dropdown-toggle disabled" data-toggle="dropdown"><span class="userdropdown">Login</span><b class="caret"</b></a><ul class="dropdown-menu profileul" role="menu"></ul></li>');

    if($('.notloggedin').length) {
        $('.profileul').append($('#internal_login_form'));
    } else {
        $('.userdropdown').text($('.user-details').html().split('<br>')[1]);
        $('.profileul').append($('.profile-menu').children('.dropdown-menu').children());
        $('.user-details').next().remove();
        $('.user-details').remove();
        $('.profileul').append($('#langSel'));
    }

$('#login_info').remove();

$('.navbar').unwrap().unwrap().unwrap();

//Add Logo to navbar header
$('.navbar-header').append($('.pageLogo'));

//Remove original container for 
$('#masthead').children().first().remove();

//Change pageLogo class to navbar-brand
$('.pageLogo').addClass('navbar-brand');
$('.navbar-brand').removeClass('pageLogo');


//Login Form
$('#login_page').children('div').remove();

//Footer
$('#footer').find('hr').remove();


//Remove glyphicon from learning path
$('.glyphicon-play').remove();

//Move forums tile on mycourse page
$('.forums').appendTo($('.col-md-4').first());

});

1 个答案:

答案 0 :(得分:0)

如果您不是绑定到document.ready而是绑定到window.onload,那么可以尝试会发生什么。

例如:window.onload = function() { .... }

不确定它是否会有所作为,但可能值得一试。