博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用avalon和jquery做基础网页导航
阅读量:5355 次
发布时间:2019-06-15

本文共 2128 字,大约阅读时间需要 7 分钟。

url:
(如果打开过慢,或者打不开,原因你懂得。)

一、目录结构

二、index.html部分
  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <script defer async="true" data-main="main" src="../../bower_components/requirejs/require.js"></script>
  6. <link rel="stylesheet" href="app/nav.css"/>
  7. <title>用avalon制作导航</title>
  8. </head>
  9. <body>
  10. <div class="navColor" ms-controller="demo">
  11. <ul class="_navCenter">
  12. <li ms-repeat-el="nav" ms-click="show()"><a ms-attr-href="el.src" ms-text="el.Navname"></a></li>
  13. </ul>
  14. </div>
  15. </body>
  16. </html>
三、main.js部分
  1. /**
  2. * Created by s9-1102 on 2015/5/7.
  3. */
  4. require.config({
  5. paths:{
  6. 'avalon':'../../bower_components/avalon.oniui/avalon.min',
  7. 'jquery':'../../bower_components/jquery/dist/jquery.min'
  8. }
  9. })
  10. require([
  11. 'app/nav'
  12. ])
四、nav.js部分
  1. /**
  2. * Created by s9-1102 on 2015/5/7.
  3. */
  4. define(['avalon','jquery'],function(){
  5. avalon.ready(function(){
  6. var navdemo = avalon.define({
  7. $id:'demo',
  8. nav:[],
  9. show:function(){
  10. $(this).addClass('navHover').siblings().removeClass('navHover');
  11. }
  12. })
  13. $.get('app/nav.json',function(json){
  14. navdemo.nav=json;
  15. $("._navCenter li").eq(0).addClass('navHover');
  16. });
  17. console.log(navdemo.nav);
  18. avalon.scan();
  19. })
  20. })
五、nav.json部分
  1. [
  2. {
    "Navname":"首页","src":"javascript:"},
  3. {
    "Navname":"个性玩法","src":"javascript:"},
  4. {
    "Navname":"门票","src":"javascript:"},
  5. {
    "Navname":"美食","src":"javascript:"},
  6. {
    "Navname":"交通","src":"javascript:"},
  7. {
    "Navname":"签证","src":"javascript:"},
  8. {
    "Navname":"游玩","src":"javascript:"},
  9. {
    "Navname":"讨论","src":"javascript:"},
  10. {
    "Navname":"关于我们","src":"javascript:"}
  11. ]
六、nav.css部分
  1. *{
    margin:0;padding:0;font-family:"Microsoft YaHei","Myriad Pro","Hiragino Sans GB",Calibri,Helvetica, tahoma, arial, simsun, sans-serif}
  2. .navColor{
  3. height:35px;
  4. background-color:#ff6600;
  5. line-height:35px;
  6. font-size:15px;
  7. }
  8. ._navCenter{
  9. padding:050px;
  10. list-style: none;
  11. }
  12. ._navCenter li{
  13. float: left;
  14. }
  15. ._navCenter li a{
  16. display:inline-block;
  17. padding:030px;
  18. color:#fff;
  19. text-decoration: none;
  20. }
  21. ._navCenter li a:hover{
  22. background-color:#ff9b59;
  23. }
  24. .navHover{
  25. background-color:#ff9b59;
  26. }
总结:通过利用avalon的循环输出能力,和jquery对dom节点强大的操作能力,来制作导航条,不需要重复书写html结构,就可以简单的完成重复性工作。简单高效。
 

转载于:https://www.cnblogs.com/Zjingwen/p/4486483.html

你可能感兴趣的文章
sonar结合jenkins
查看>>
解决VS+QT无法生成moc文件的问题
查看>>
AngularJs练习Demo14自定义服务
查看>>
关于空想X
查看>>
CF1067C Knights 构造
查看>>
[BZOJ2938] 病毒
查看>>
webstorm修改文件,webpack-dev-server不会自动编译刷新
查看>>
Scikit-learn 库的使用
查看>>
CSS: caption-side 属性
查看>>
python 用数组实现队列
查看>>
认证和授权(Authentication和Authorization)
查看>>
CSS3中box-sizing的理解
查看>>
传统企业-全渠道营销解决方案-1
查看>>
Lucene全文检索
查看>>
awk工具-解析1
查看>>
推荐一款可以直接下载浏览器sources资源的Chrome插件
查看>>
CRM product UI里assignment block的显示隐藏逻辑
查看>>
AMH V4.5 – 基于AMH4.2的第三方开发版
查看>>
Web.Config文件配置之配置Session变量的生命周期
查看>>
mysql导入source注意点
查看>>