當你去到一個特定的URL那裏的初始內容被加載,然後它解釋的url參數,然後內容改變。隱藏/顯示內容時jQuery無意的延遲
在我的本地機器上發生這種「l split分裂」,又如此之快,你看不到任何延遲。但是,如果您在大約5秒後轉到該URL,內容將最終隱藏並顯示正確的內容。 js在下面,這裏有一個非常接近的html代碼片段。
例如URL:www.example.com/page1.aspx?nav=2012?id=113 & PID = 2
HTML:
<div id="default">content</div>
<div id="mobile2012" style="display:none;">content</div>
的Javascript:
var querystring = location.search.replace('?', '').split('?');
var queryObj = {};
for (var i = 0; i < querystring.length; i++) {
var name = querystring[i].split('=')[0];
var value = querystring[i].split('=')[1];
queryObj[name] = value;
}
////////
var subNavDestination = queryObj["nav"];
////////
urlParams(subNavDestination);
function urlParams(subNavDestination) {
var displayInformation;
switch (subNavDestination) {
case 'about': displayInformation = "AboutEarthquakeIns";
break;
case 'homeowner': displayInformation = "Homeowner2012Content";
break;
case 'renter': displayInformation = "Renter2012Content";
break;
case 'mobilehome': displayInformation = "Mobilehome2012Content";
break;
case 'condo': displayInformation = "Condominium2012Content";
break;
case '2011': displayInformation = "pdf2011";
break;
case '2012': displayInformation = "pdf2012";
break;
default: displayInformation = "GeneralContent";
}
if (displayInformation != "AboutEarthquakeIns") {
//$('#PolicyTypes2012 .sideNavPolicyType').slideToggle();
$('#PolicyTypes2011 .sideNavCoverage').slideUp();
}
if (displayInformation == "pdf2011") {
controlContentVisibility("pdf2011");
$('#PolicyTypes2011 .sideNavPolicyType').slideToggle();
$('#PolicyTypes2011 .sideNavCoverage').slideUp();
setActiveLink();
setSelectedPolicyType();
hideYearSubMenus(2012);
}
else if (displayInformation == "pdf2012") {
controlContentVisibility("pdf2012");
$('#PolicyTypes2012 .sideNavPolicyType').slideToggle();
$('#PolicyTypes2012 .sideNavCoverage').slideUp();
setActiveLink();
setSelectedPolicyType();
hideYearSubMenus(2011);
}
controlContentVisibility(displayInformation);
}
重新考慮你的結構。爲什麼要將所有這些數據提供給客戶,然後隱藏大部分數據?效率低下,肯定會導致不良的用戶體驗。 – 2011-12-29 22:08:33
此外,您的查詢字符串語法不正確。應該永遠不會超過一個問號。 – 2011-12-29 22:10:14
有一個內容管理系統與我無法控制的查詢字符串參數混淆,這就是爲什麼它有兩個?至於爲用戶提供所有這些內容......這是90%的文字,我正在努力避免有多頁廢話。謝謝你的想法。 – BRogers 2011-12-29 22:27:29