我做了很多"后期制作" 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());
});
答案 0 :(得分:0)
如果您不是绑定到document.ready
而是绑定到window.onload
,那么可以尝试会发生什么。
例如:window.onload = function() { .... }
不确定它是否会有所作为,但可能值得一试。