Titanium 钛中不可预测的z指数
这个奇怪的虫子已经连续两天困扰着我了 我有5个视图,每个视图都包含一个滚动视图,并在单击时设置z索引。出于某种奇怪的原因,z-index为3的元素总是显示在z-index为4的元素的顶部,除非它是单击最后一个元素的第二个元素。到底发生了什么 请查看下面的代码。我用的是合金。显然不是生产代码,但我意识到它可能不是我的代码,所以我用下面的代码测试了它。非常感谢你的帮助 合金标记:Titanium 钛中不可预测的z指数,titanium,z-index,appcelerator,Titanium,Z Index,Appcelerator,这个奇怪的虫子已经连续两天困扰着我了 我有5个视图,每个视图都包含一个滚动视图,并在单击时设置z索引。出于某种奇怪的原因,z-index为3的元素总是显示在z-index为4的元素的顶部,除非它是单击最后一个元素的第二个元素。到底发生了什么 请查看下面的代码。我用的是合金。显然不是生产代码,但我意识到它可能不是我的代码,所以我用下面的代码测试了它。非常感谢你的帮助 合金标记: <!-- index.xml --> <Alloy> <Window id="cont
<!-- index.xml -->
<Alloy>
<Window id="container">
<View id="v0" class="test" top="0">
<ScrollView borderColor="green">
<Label/>
</ScrollView>
</View>
<View id="v1" class="test" top="40">
<ScrollView borderColor="blue">
<Label/>
</ScrollView>
</View>
<View id="v2" class="test" top="80">
<ScrollView borderColor="red">
<Label/>
</ScrollView>
</View>
<View id="v3" class="test" top="120">
<ScrollView borderColor="purple">
<Label/>
</ScrollView>
</View>
<View id="v4" class="test" top="160">
<ScrollView borderColor="teal">
<Label/>
</ScrollView>
</View>
</Window>
</Alloy>
以下是主要脚本:
// index.js
zs = [];
changeOrder = function(){
for(var i=0; i<5; i++){
z = zs[i];
v = $["v#{i}"];
// Set the supposedly correct order of view stack
v.setZIndex(z);
// Display the order for debugging
v.children[0].children[0].setText(z);
};
$.v0.addEventListener("click", function(){
zs = [5,4,3,0,1];
changeOrder();
});
$.v1.addEventListener("click", function(){
zs = [1,5,4,3,0];
changeOrder();
});
$.v2.addEventListener("click", function(){
zs = [0,1,5,4,3];
changeOrder();
});
$.v3.addEventListener("click", function(){
zs = [3,0,1,5,4];
changeOrder();
});
$.v4.addEventListener("click", function(){
zs = [4,3,0,1,5];
changeOrder();
});
$.container.open()
//index.js
zs=[];
changeOrder=函数(){
for(var i=0;i看起来像是将PHP与javascript混合在一起,因此对view元素的引用是错误的。此外,视图设置的方式也是错误的,因此当您单击最上面的视图时,其他视图将变得不可访问,但是,这正是您尝试执行的操作。这是:
v = $["v#{i}"];
应该是:
v=$[“v”+i]哦,对不起,我的错!我用CoffeeScript编程,并手动将代码转换为JavaScript以供发布。它应该具有与所描述的相同的效果,因为运行时引用似乎有效。没问题,我已确认它确实适用于上述修复。感谢您尝试代码!当您说它有效时,您指的是z索引w或者问题确实存在?考虑到我的自我,我很想知道这是我的错还是Appcelerator的错;PYour的逻辑是可靠的,很可能罪魁祸首在coffeescript和javascriptUpdate之间的翻译中丢失了一些东西:我相信这是钛的一个bug,Appcelerator的JIRA有人打开了这个问题并指出了它作为iOS bug上的钛。