• jQuery--选择器案例实战


    1.案例需求

      jquery最基础的选择器部分已经基本结束,来一个简单案例总结回顾下学的东西。

    案例需求:

      用一个按钮控制元素的显示与隐藏,页面如下,从第五个开始,不要最后一个,控制他们的显示和隐藏。

    2.代码实现

    1. 方法一
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>动态列表效果.html</title>
     6 <style type="text/css">
     7  *{ margin:0; padding:0;}
     8 body {font-size:12px;text-align:center;}
     9 a { color:#04D; text-decoration:none;}
    10 a:hover { color:#F50; text-decoration:underline;}
    11 .SubCategoryBox {width:600px; margin:0 auto; text-align:center;margin-top:40px;}
    12 .SubCategoryBox ul { list-style:none;}
    13 .SubCategoryBox ul li { display:block; float:left; width:200px; line-height:20px;}
    14 .showmore { clear:both; text-align:center;padding-top:10px;}
    15 .showmore a { display:block; width:120px; margin:0 auto; line-height:24px; border:1px solid #AAA;}
    16 .showmore a span { padding-left:15px; background:url(img/down.gif) no-repeat 0 0;}
    17 .promoted a { color:#F50;}
    18 </style>
    19 <!-- 引入jQuery -->
    20 <script src="../js/jquery-1.8.3.js" type="text/javascript"></script>
    21 <script type="text/javascript">
    22     var flag = true;
    23     $(function(){
    24         $(".showmore a").click(function(){
    25             if(flag){
    26                 $("ul li").each(function(index){
    27                     if(index >= 5 && 12 >= index) {
    28                         $(this).attr("style","display:none;");
    29                         $("span").html("显示全部品牌");
    30                     }
    31                 });
    32                 flag = false;
    33             } else {
    34                 $("ul li").each(function(index){
    35                     if(index >= 5 && 12 >= index) {
    36                         $(this).attr("style","");
    37                         $("span").html("隐藏全部品牌");
    38                     }
    39                 });
    40                 flag = true;
    41             }
    42         });
    43     });
    44 </script>
    45 </head>
    46 <body>
    47 <div class="SubCategoryBox">
    48 <ul>
    49 <li ><a href="#">佳能</a><i>(30440) </i></li>
    50 <li ><a href="#">索尼</a><i>(27220) </i></li>
    51 <li ><a href="#">三星</a><i>(20808) </i></li>
    52 <li ><a href="#">尼康</a><i>(17821) </i></li>
    53 <li ><a href="#">松下</a><i>(12289) </i></li>
    54 <li ><a href="#">卡西欧</a><i>(8242) </i></li>
    55 <li ><a href="#">富士</a><i>(14894) </i></li>
    56 <li ><a href="#">柯达</a><i>(9520) </i></li>
    57 <li ><a href="#">宾得</a><i>(2195) </i></li>
    58 <li ><a href="#">理光</a><i>(4114) </i></li>
    59 <li ><a href="#">奥林巴斯</a><i>(12205) </i></li>
    60 <li ><a href="#">明基</a><i>(1466) </i></li>
    61 <li ><a href="#">爱国者</a><i>(3091) </i></li>
    62 <li ><a href="#">其它品牌相机</a><i>(7275) </i></li>
    63 </ul>
    64 <div class="showmore">
    65 <a href="#"><span>隐藏全部品牌</span></a>
    66 </div>
    67 </div>
    68 </body>
    69 </html>

      2.方法2

      

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>动态列表效果.html</title>
    <style type="text/css">
     *{ margin:0; padding:0;}
    body {font-size:12px;text-align:center;}
    a { color:#04D; text-decoration:none;}
    a:hover { color:#F50; text-decoration:underline;}
    .SubCategoryBox {width:600px; margin:0 auto; text-align:center;margin-top:40px;}
    .SubCategoryBox ul { list-style:none;}
    .SubCategoryBox ul li { display:block; float:left; width:200px; line-height:20px;}
    .showmore { clear:both; text-align:center;padding-top:10px;}
    .showmore a { display:block; width:120px; margin:0 auto; line-height:24px; border:1px solid #AAA;}
    .showmore a span { padding-left:15px; background:url(img/down.gif) no-repeat 0 0;}
    .promoted a { color:#F50;}
    </style>
    <!-- 引入jQuery -->
    <script src="../js/jquery-1.8.3.js" type="text/javascript"></script>
    <script type="text/javascript">
        var flag = true;
        $(function(){
            //获取第5个之后的且不包括之后一个的li
            var liArr = $("li:gt(4):not(:last)");
            //隐藏
            liArr.hide();
            $("span").click(function(){
                //状态切换
                liArr.toggle();
                //判断是否隐藏
                if(liArr.is(":hidden")){
                    $(this).html("显示所有品牌");
                }else{
                    $(this).html("隐藏所有品牌");
                }
            });
        });
    </script>
    </head>
    <body>
    <div class="SubCategoryBox">
    <ul>
    <li ><a href="#">佳能</a><i>(30440) </i></li>
    <li ><a href="#">索尼</a><i>(27220) </i></li>
    <li ><a href="#">三星</a><i>(20808) </i></li>
    <li ><a href="#">尼康</a><i>(17821) </i></li>
    <li ><a href="#">松下</a><i>(12289) </i></li>
    <li ><a href="#">卡西欧</a><i>(8242) </i></li>
    <li ><a href="#">富士</a><i>(14894) </i></li>
    <li ><a href="#">柯达</a><i>(9520) </i></li>
    <li ><a href="#">宾得</a><i>(2195) </i></li>
    <li ><a href="#">理光</a><i>(4114) </i></li>
    <li ><a href="#">奥林巴斯</a><i>(12205) </i></li>
    <li ><a href="#">明基</a><i>(1466) </i></li>
    <li ><a href="#">爱国者</a><i>(3091) </i></li>
    <li ><a href="#">其它品牌相机</a><i>(7275) </i></li>
    </ul>
    <div class="showmore">
    <a href="#"><span>显示全部品牌</span></a>
    </div>
    </div>
    </body>
    </html>

      很明显,法二比法一简洁了不是一点点,主要是因为法二对jquery的方法和过滤器有了恰当的应用,所以说api真的省事很多,工作中如果总感觉自己code很慢,可能就是api

    不能熟练使用的原因qaq。。

  • 相关阅读:
    数据解压
    子区域数据合并
    数据压缩复制
    将Win10变回Win7/WinXP界面
    通过GP加载卫星云图-雷达图-降雨预报图
    Maven版本与JDK版本
    由输入法随想
    selinux开关
    android studio 配置
    NodeJS 笔记
  • 原文地址:https://www.cnblogs.com/jxxblogs/p/9608823.html
Copyright © 2020-2023  润新知