Ниже приведены некоторые функции, которые у меня есть, которые используют официальный плагин jQuery Template и вставляют несколько JSON, которые мои бэкенд-разработчики дают мне в var
s topPages
и latestPages
, но по некоторым причинам, когда я вызываю insertOrHideList()
функцию, а затем вызвать нормальную функцию renderList()
, которая по какой-то причине переносит атрибут max
. Таким образом, вместо получения 100
результатов (см. 2-ю строку renderList()
, я получаю 5
, см. insertOrHideList()
вызовы внизу)
Есть идеи?
function renderList(json,max){
if(!max){max=100}
tempjson = json;
tempjson.length = max;
the_template = $.template(null, '<li><a href="{{if CONTENT_ID}}article/${CONTENT_ID}{{else}}${CATEGORY_TREE_ID}{{/if}}" title="Go to the ${TITLE} page">${TITLE}</a></li>');
return $.tmpl(the_template,tempjson);
}
function insertOrHideList(selector,json,max){
if(!max){max=5}
if(typeof json !== 'undefined' && json.length >= 5){
$(selector).append(renderList(json,max));
}
else{
$(selector).parent().remove();
}
}
insertOrHideList('.most-popular ol',topPages,5);
insertOrHideList('.recently-added ol',latestPages,5);
console.log(renderList(latestPages));