我手风琴已设置为通过将此字符串附加到网址?panel=0
farfegnugen = jQuery.noConflict();
farfegnugen(document).ready(function($) {
var defaultPanel = parseInt(getParam('panel'));
farfegnugen("#st-accordion").accordion({
open: defaultPanel
});
function getParam(name) {
var query = location.search.substring(1);
if (query.length) {
var parts = query.split('&');
for (var i = 0; i < parts.length; i++) {
var pos = parts[i].indexOf('=');
if (parts[i].substring(0, pos) == name) {
return parts[i].substring(pos + 1);
}
}
} else if(query.length === undefined){
window.location.href = "#topOfPage";
}
return false;
}
});
然而,我注意到它虽然没有选择特定的面板,但在负载时略微滚动到手风琴的主体上。为了解决这个问题,我想添加这个else if
块会检查参数是否为空,如果是,我们会强制窗口滚动anchor
所在的位置。
<a id="topOfPage" href='#'></a>
所以不会else if(query.length === undefined)
工作,因为你什么也没说,是吗?
附:我也试过null
,但这没效果!
答案 0 :(得分:0)
尝试在控制台中运行location.search.substring(1).length
,您将看到问题所在。它等于0
,而不是undefined
。在您的情况下,您不需要else if
,您只需使用else