在我的主题顶部有一个风格切换台.它的大部分功能,但您必须按F5或刷新才能看到新的风格.成功执行后,如何完成这个jQuery自动刷新?
jQuery.fn.styleSwitcher = function(){ $(this).click(function(){ loadStyleSheet(this); return false; }); function loadStyleSheet(obj) { $('body').append('<div id="overlay" />'); $('body').css({height:'100%'}); $('#overlay') .css({ display: 'none',position: 'absolute',top:0,left: 0,width: '100%',height: '100%',zIndex: 1000,background: 'black url(http://mytheme.com/loading.gif) no-repeat center' }) .fadeIn(500,function(){ $.get( obj.href+'&js',function(data){ $('#stylesheet').attr('href','css/' + data + '.css'); cssDummy.check(function(){ $('#overlay').fadeOut(500,function(){ $(this).remove(); }); }); }); }); } var cssDummy = { init: function(){ $('<div id="dummy-element" style="display:none" />').appendTo('body'); },check: function(callback) { if ($('#dummy-element').width()==2) callback(); else setTimeout(function(){cssDummy.check(callback)},200); } } cssDummy.init(); } $.ajax({ success:function(){ $('#overlay').load('http://mytheme.com'); } });
解决方法
您可以使用
success: function() { window.location.reload(true); }