在上一篇中我们学会了ActionSheet的使用,细心的朋友可能会发现其中创建列表的格式是HTML的,代码如下:
function showCustomHtmlSheet() { $("#afui").actionsheet(‘<a >Back</a><a onclick="alert(\‘hi\‘);" >Show Alert 3</a><a onclick="alert(\‘goodbye\‘);">Show Alert 4</a>‘); }这一篇我们来研究一下json格式的ActionSheet,其实很简单,和上一篇中的分析方法一样,我们先找到实例代码中的源代码如下:
<a class="button" onclick="showCustomJsonSheet()">Show Custom Json Sheet</a>
function showCustomJsonSheet() { $("#afui").actionsheet( [{ text: ‘back‘, cssClasses: ‘red‘, handler: function () { $.ui.goBack(); } }, { text: ‘show alert 5‘, cssClasses: ‘blue‘, handler: function () { alert("hi"); } }, { text: ‘show alert 6‘, cssClasses: ‘‘, handler: function () { alert("goodbye"); } }]); }运行效果:
好吧,我们下面添加一个条目试试。修改代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>jqMobi</title> <link href="css/af.ui.css" rel="stylesheet" type="text/css"/> <link href="css/icons.css" rel="stylesheet" type="text/css"/> <script src="appframework.js" type="text/javascript"></script> <script src="ui/appframework.ui.js" type="text/javascript"></script> </head> <body> <div id="afui"> <div id="content"> <div id="home" title="首页" class="panel" selected="true" data-footer="custom_footer"> <a class="button" onclick="showCustomJsonSheet()">Show Custom Json Sheet</a> </div> <div id="about" title="关于我们" class="panel" data-footer="custom_footer"> </div> <header id="custom_header"> <h1>首页</h1> </header> <footer id="custom_footer"> <a href=‘#home‘ class=‘icon home‘>首页</a> <a href=‘#about‘ class=‘icon info‘>关于我们</a> </footer> <nav> <div class=‘title‘>Home</div> <ul> <li><a class="icon home mini" href="#main">Home</a></li> </ul> </nav> </div> </div> <script> function showCustomJsonSheet() { $("#afui").actionsheet( [{ text: ‘back‘, cssClasses: ‘red‘, handler: function () { $.ui.goBack(); } }, { text: ‘show alert 5‘, cssClasses: ‘blue‘, handler: function () { alert("hi"); } }, { text: ‘show alert 6‘, cssClasses: ‘‘, handler: function () { alert("goodbye"); } },{ text: ‘大碗干拌‘, cssClasses: ‘red‘, handler: function () { alert("哈哈"); } }]); } </script> </body> </html>运行一下,看看效果:
突然发现我们上面设置的背景没作用,这是什么原因呢?我们再来看看源代码,定位到元素如下:
<a href="javascript:;" class="red">大碗干拌</a>
看到上面的background:white;这就是原因,将这一项禁掉会发现有效果了,如下:
好吧,我们进到af.ui.css文件中修改如下:
#afui #af_actionsheet a{ border-radius:0; -webkit-border-radius:0; color:black; /*background:white;*/ border:none; text-shadow:none; }和上面的效果相同,我就不贴图了,那么如果我们想让上面菜单上面的文字为蓝色的怎么办?其实可以像上面一样在af.ui.css中该,但是我建议最好不要在这个配置文件中修改,我们可以在我们的index.html中添加如下代码:
<style> #afui #af_actionsheet a{ color:blue; } </style>效果如下: