我试图在Windows Phone 8.1上使用WinJS 2.1和一些Pivot控件构建应用程序。我想要向左或向右检测PivotItem幻灯片,但根据此MSDN页面(http://msdn.microsoft.com/en-us/library/windows/apps/dn624879.aspx),没有像'onslideleft'那样的幻灯片事件。我的目标是避免Pivot循环:当我们到达最后一个PivotItem并再次向左滑动时,它返回到第一个PivotItem。我只是想在用户到达最后一个PivotItem时阻止左滑动(并阻止右滑动第一个PivotItem)。
我该怎么做?
谢谢你。
答案 0 :(得分:1)
不确定这是否是您想要的,但您可以在选择更改时检查selectedIndex并跟踪以查看是否达到了描述的情况。
ready: function (element, options) {
var pivotEl = document.getElementById("idofpivotcontrol");
pivotEl.addEventListener('selectionchanged', function (ev) {
var pivotControl = document.getElementById("idofpivotcontrol").winControl;
var pivotControlLength = pivotControl.items.length;
var selectedIndex = pivotControl.selectedIndex;
});
}
答案 1 :(得分:1)
您无法立即在枢轴控制中实现此目的,但您可以在这样的selectionchange事件中获得枢轴滑动方向,
document.getElementById("PivotID").addEventListener("selectionchanged", swipehandler);
function swipehandler(evt) {
var direction = evt.detail.direction; // 'forward' or 'backwards'
}
因此,在此选择更改事件中,您可以检查枢轴的长度和索引并限制枢轴循环,但如果您喜欢此枢轴,则会闪烁。无论如何只是试一试。