我一直在试验jscrollpane。
我正在尝试将一些ajax内容添加到窗格并让它呈现内容,但重新初始化因某种原因失败。
我相信我正在按照here解释的内容,但也许我遇到了用于处理我的json数据的vk template的问题。
我已经把这个div放在页面上了。
<div id="INTERNAL-line_item_detail" class="fl scroll-pane">
</div>
当事情开始时它是空的,但如果我放入一些lorem ipsum,我可以看到jscrollpane正常工作,至少在开始时。
然后我发出这个ajax请求来获取一个json对象 然后使用vktemplate将其放入html。
$.ajax({
type: "POST",
url: "queries/INTERNAL_get_order_info.php",
data: "num=" + num,
dataType: "json",
success: function (data) {
//some of this is not exactly the way it is SO question I referenced
//I've been moving things around quite experimentally
api = $("#INTERNAL-line_item_detail").data('jsp');
$("#INTERNAL-line_item_detail").empty();
$('#INTERNAL-line_item_detail').vkTemplate('templates/get_line_items_template.tmpl?<?=time()?>', data, function () {
api.reinitialise();
});
}
});
滚动窗格的CSS ......没什么特别的。
.scroll-pane {
width: 350px;
height: 200px;
overflow: auto;
margin:15px 30px 15px 30px;
background-color:#fff;
}
但每当我查看chrome检查器中的滚动窗格时,它都会添加属性overflow:hidden
(尽管我无法从中找出)。我并不认为它真的很重要,因为当我将其关闭或更改为scroll
时,我只能在顶部和底部看到普通的mac滚动条。
有什么想法吗?非常感谢!
答案 0 :(得分:2)
尝试在模板引擎的回调函数中记录api
的值,以了解它是否已定义。
另外我认为最好通过回忆jScollPane这样的元素来重新初始化:
$('#INTERNAL-line_item_detail').jScrollPane({/*your jsp config*/});
它将保持滚动位置并且将是透明的。 祝你好运!
答案 1 :(得分:-1)
将api
设置为等于具有类scroll-pane
类
并在模板
中使用它function reinitializeJspane(divId, templateUrl, data) {
api = $('#' + divId).data('jsp');
$(api.getContentPane()).vkTemplate(templateUrl + "?", data, function () {
api.reinitialise();
});
}
谢谢!