有人可以给我写完整的代码,告诉我如何淡入和淡出带有sencha touch 1的html元素吗?具体来说,我需要知道要包含哪些必要的html,javascript和css文件。
我已经尝试过永久地获得一个简单的淡入淡出效果来处理div元素,但没有成功。我得到方法未找到错误或没有任何反应。没有人在sencha论坛上回答我的问题。我很确定我只是错过了一些明显的东西。
附加说明
以下是我尝试过的事情以及失败的原因:
<!DOCTYPE html>
<html>
<head>
<title>Nested List - Source Code Browser</title>
<link rel="stylesheet" href="sencha-touch.css" type="text/css" id="stylesheet_file" />
<script type="text/javascript" src="sencha-touch.js"></script>
<script type="text/javascript">
Ext.setup({
onReady: function() {
// Ext.get('mydiv').hide();
// Ext.get('mydiv').fadeOut(); // fadeOut() does not exist error
// Ext.Anim.run(Ext.get('mydiv'), 'fade', {out:true}); // does nothing
// Ext.Anim.run(Ext.getDom('mydiv'), 'fade', {out:true}); // does nothing
}
});
</script>
</head>
<body><div id="mydiv">hello world</div></body>
</html>
答案 0 :(得分:5)
你走了:
Ext.setup({
onReady: function() {
var bool = true;
var button1 = new Ext.Button({
text:'Fade',
id:'button1',
handler: function(){
Ext.Anim.run(button2, 'fade', {
out: bool,
autoClear:false
});
bool = !bool;
console.log("fade end");
}
});
var button2 = new Ext.Button({
text:'Fade'
});
var toolbar = new Ext.Toolbar({
dock:'top',
title:'Fade',
items:[button1,{xtype:'spacer'},button2]
});
new Ext.Panel({
fullscreen: true,
dockedItems: toolbar
});
}
});
自动清除属性会在淡出后隐藏按钮
答案 1 :(得分:2)
这里的繁荣是一种同时淡出和淡出的小提琴。
它使用具有绝对布局的容器。
var into = Ext.create('Ext.Container', {
width: 440,
itemId: 'animTo',
layout: {
type: 'absolute'
},
style: {
backgroundColor: '#000',
padding: '20px'
},
renderTo: Ext.getBody()
});
var one = Ext.create('Ext.Component', {
width: 360,
height: 100,
x: 0,
y: 0,
itemId: 'one',
style: {
backgroundColor: 'green'
}
});
var two = Ext.create('Ext.Component', {
width: 360,
height: 500,
x: 0,
y: 0,
itemId: 'two',
style: {
backgroundColor: 'red',
opacity: 0
}
});
into.add(one);
into.add(two);
into.getEl().setHeight(two.getEl().getHeight() + 40);
two.hide();
var current = one;
Ext.create('Ext.button.Button', {
text: 'Fade',
renderTo: Ext.getBody(),
listeners: {
click: function() {
current.getEl().fadeOut({ duration: 2000});
current = current == one ? two : one;
current.getEl().fadeIn({ duration: 2000});
}
}
});
答案 2 :(得分:1)
好的,我终于明白了。正如TDeBailleul所解释的那样,autoClear在褪色后保持元素隐藏。这是另一个例子
示例:淡入
<!DOCTYPE html>
<html>
<head>
<title>Nested List - Source Code Browser</title>
<link rel="stylesheet" href="sencha-touch.css" type="text/css" id="stylesheet_file" />
<script type="text/javascript" src="sencha-touch.js"></script>
<script type="text/javascript">
Ext.setup({
onReady: function() {
Ext.Anim.run(Ext.get('mydiv'), 'fade', {out:false, duration:1000, autoClear:false});
}
});
</script>
</head>
<body><div id="mydiv" style="opacity:0;">hello world</div></body>
</html>
示例:淡出
<!DOCTYPE html>
<html>
<head>
<title>Nested List - Source Code Browser</title>
<link rel="stylesheet" href="sencha-touch.css" type="text/css" id="stylesheet_file" />
<script type="text/javascript" src="sencha-touch.js"></script>
<script type="text/javascript">
Ext.setup({
onReady: function() {
Ext.Anim.run(Ext.get('mydiv'), 'fade', {out:true, duration:1000, autoClear:false});
}
});
</script>
</head>
<body><div id="mydiv">hello world</div></body>
</html>