JQuery小案例

1.鼠標移動到數字按鈕上後,圖片從有向左切入:

示例代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JQuery案例練習</title>
    <style type="text/css">

        /*清空所有的樣式*/
        *{
            margin:0;
            padding: 0;
            border:0;
            list-style:none;       /*去掉ulol中的樣式*/
        }
        .all{
            width: 800px;
            height: 535px;
            margin: 100px auto;
            position: relative;     /*子絕父相*/
            overflow: hidden;
        }
        .all ul{
            position: relative;      /*子絕父相,它的子類通過絕對定位的方式讓圖片的原點和盒子的原點保持一致*/
            z-index: 1;
        }
        /*通過定位的方式讓圖片的左上角位於盒子的左上角*/
        .all ul li{
            position: absolute;
            left: 0;         /*用來確定圖片的位置*/
            top:0;
        }
        /*Z-index 僅能在定位元素上奏效(例如 position:absolute;)!說明該屬性設置一個定位元素沿 z 軸的位置,
         * z 軸定義爲垂直延伸到顯示區的軸。如果爲正數,則離用戶更近,爲負數則表示離用戶更遠。
        */
        .all ol{
            position: absolute;   /*標準流中同級的olul只能按順序顯示,不能讓ol顯示在ul之上,所以採用定位的方式*/
            z-index: 2;           /*2>1,ol顯示在ul之上*/
            right: 20px;
            bottom: 10px;
        }
        .all ol li{
            width: 20px;
            height: 20px;
            background-color: #333;
            border: 1px solid #cccccc;
            font-weight: bold;
            text-align: center;       /*水平居中*/
            line-height: 20px;           /*垂直居中*/
            float: left;          /*讓所有ol裏面的li水平顯示*/
            margin-left: 10px;       /*lili之間有一定的間距*/
            color: #cccccc;        /*字體的顏色*/
            margin-top: 10px;    /*解決current的方塊變大後,其他的色塊位置相對上移的問題*/
            cursor: pointer;          /*鼠標移動到上面顯示小手*/
        }
        .all ol .current{
            width: 30px;
            height: 30px;
            color: #f60;      /* 字體的顏色*/
            border: 1px solid #ff6600;
            line-height: 30px;
            margin-top: 0;         /*當前的色塊的margin-top0,之前的爲10,因爲當前的色塊比之前的大了10px*/

        }

    </style>
    <script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
    <script type="text/javascript">
        $(function(){
            var num2=6;
            //第一步,通過$符代碼分離
            $('ol li').mouseover(function(e){      //當鼠標移動到ol裏面的li的時候,執行操作
                $(this).attr('class','current');       //當前的li它的類變爲current,也就是樣式發生變化
                $(this).siblings().attr('class','');       //當前li的兄弟li的類置空

                var num=$(this).index()      //獲取到當前的ol liindex                //因爲讓圖片從右邊過來,所以一開始先讓它位於當前圖片的右側,也就是left=圖片的width
                $('ul li').eq(num).css('left','800px');
                num2++
                $('ul li').eq(num).css('z-index',num2);   //注意此處的num2是參數,不需要加''
                $('ul li').eq(num).animate({left:'0'},500);
            });
        })
    </script>
</head>
<body>
<div class="all">
<ul >
    <li><img src="images/04.png"></li>
    <li><img src="images/05.png"></li>
    <li><img src="images/06.png"></li>
    <li><img src="images/01.png"></li>
    <li><img src="images/02.png"></li>
</ul>
<ol>
    <!--裏面記得寫數字,不然就只有空的方塊了-->
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li class="current">5</li>
</ol>
</div>
</body>
</html>
運行效果:(如下圖所示,第5張圖片正在進入)


2.案例2(突出顯示某一部分內容)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>突出顯示某一部分</title>
    <style type="text/css">
        *{
            margin:0;
            padding:0;
            list-style: none;   /*清空ul li 的樣式*/
        }
        div{
            margin:100px auto;
            width: 1204px;
            height: 580px;
            border: 2px solid #e3e3e3;
        }

        img{
            width: 400px;
            height: 288px;
            float: left;
            /*margin-right: 20px;*/
            /*margin-bottom: 20px;*/
            padding: 10px;
            box-sizing: border-box;
        }
    </style>
    <script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
    <script type="text/javascript">
        $(function(){
            $('li').mouseover(function(e){
                //當鼠標移到某一個li的時候,該li的兄弟li的透明度降低
                $(this).siblings().stop().fadeTo(500,0.3);  //透明度在500m內淡入到0.3
            });
//            當鼠標移後,該li(this)的兄弟li的透明度恢復默認
            $('li').mouseout(function(e){
                //stop()解決JQuery的排隊問題,也就是鼠標快速的亂滑之後移開,狀態不會持續的進行
                $(this).siblings().stop().fadeTo(500,1);   //透明度恢復到默認值1
            });
        })
    </script>
</head>
<body>
  <div>
      <ul>
          <li><a href="#"><img  src="images/daiyu.png"></a></li>
          <li><a href="#"><img  src="images/baochai.jpg"></a></li>
          <li><a href="#"><img  src="images/xiangyun.jpg"></a></li>
          <li><a href="#"><img  src="images/tanchun.jpg"></a></li>
          <li><a href="#"><img  src="images/wangxifeng.jpg"></a></li>
          <li><a href="#"><img  src="images/liwan.jpg"></a></li>
      </ul>
  </div>
</body>
</html>

運行效果:

1)頁面打開後:


2)鼠標移動到其中一幅圖上面,


3)當鼠標離開後,又恢復到默認。

3.fadeIn() :淡入

fadeOut():淡出

fadeTo()


4.siblings() 獲取到兄弟類

5.stop()    解決JQuery排隊問題。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章