進(jìn)階任務(wù)十四-jQuery操作

jQuery 能做什么

jQuery庫為Web腳本編程提供了通用(跨瀏覽器)的抽象層,使得它幾乎適用于任何腳本編程的情形。

  • 便捷的獲取DOM元素
  • 動態(tài)修改頁面樣式
  • 動態(tài)改變DOM內(nèi)容
  • 響應(yīng)用戶的頁面操作
  • 為頁面添加動態(tài)效果
  • 同意AJAX操作
  • 簡化常見的JavaScript任務(wù)

jQuery 對象和 DOM 原生對象有什么區(qū)別?如何轉(zhuǎn)化?

  • jQuery對象是通過jQuery包裝DOM對象后產(chǎn)生的對象;DOM對象就是一個對象,二jQuery對象是一個類數(shù)組對象;jQuery對象不能使用DOM對象的方法進(jìn)行操作,DOM對象不能使用jQuery對象的方法進(jìn)行操作
  • $(DOM對象) ===> jQuery對象
  • (jQuery對象).[0]或者(jQuery對象).get(0) ===> DOM對象

jQuery中如何綁定事件?bind、unbind、delegate、live、on、off都有什么作用?推薦使用哪種?使用on綁定事件使用事件代理的寫法?

  • bind 為一個元素綁定一個事件處理程序
  • unbind 從元素上刪除一個以前附加事件處理程序
  • delegate 為所有匹配選擇器(selector參數(shù))的元素綁定一個或多個事件處理函數(shù),基于一個指定的根元素的子集,匹配的元素包括那些目前已經(jīng)匹配到的元素,也包括那些今后可能匹配到的元素
  • live 附加一個事件處理器到匹配目前選擇器的所有元素,現(xiàn)在和未來
  • on 在選定的元素上綁定一個或多個事件處理函數(shù)
  • off 移除一個事件處理函數(shù)
    現(xiàn)在推薦使用on/off來添加/移除事件
    事件代理示例:
$('table').on('click', 'th', function(e){
    console.log(this);
})

jQuery 如何展示/隱藏元素?

1、show()方法
$('.target').show();
匹配的元素將被立即顯示,沒有動畫。
對應(yīng)的隱藏方法是 .hide();

2、fadeIn() 動畫表現(xiàn)形式淡入
.fadeIn( [duration ] [, complete ] )
第一個參數(shù) 動畫用時
第二個參數(shù) 動畫完成后執(zhí)行的函數(shù)
$('.target').fadeIn(1000,function(){});
對應(yīng)的隱藏方法是 fadeOut(),互相切換是 fadeToggle()

3、slideDown() 動畫表現(xiàn)形式下拉
.slideDown( [duration ] [, complete ] )
$('.target').slideDown(1000,function(){});
對應(yīng)的隱藏方法是slideUp(),互相切換是slideToggle()

jQuery 動畫如何使用?

.animate( properties [, duration ] [, easing ] [, complete ] )
描述: 根據(jù)一組 CSS 屬性,執(zhí)行自定義動畫。
animate({left:'80',top},5000,)
properties:一個CSS屬性和值的對象,動畫將根據(jù)這組對象移動。
duration: 動畫持續(xù)多久,1000,2000...
easing: 過渡使用哪種緩動函數(shù),jQuery自身提供 linear swing 2種
complete: 動畫完成時執(zhí)行的函數(shù)

如何設(shè)置和獲取元素內(nèi)部 HTML 內(nèi)容?如何設(shè)置和獲取元素內(nèi)部文本?

  • 設(shè)置元素內(nèi)部HTML內(nèi)容:
    $("target").html("content")
  • 獲取元素內(nèi)部HTML內(nèi)容:
    $("target").html()
  • 設(shè)置元素內(nèi)部文本內(nèi)容:
    $("target").text("content")
  • 獲取元素內(nèi)部文本內(nèi)容:
    $("target").text()

如何設(shè)置和獲取表單用戶輸入或者選擇的內(nèi)容?如何設(shè)置和獲取元素屬性?

  • 設(shè)置表單用戶輸入或者選擇的內(nèi)容
    $("target").val("content")
  • 獲取表單用戶輸入或者選擇的內(nèi)容
    $("target").val()
  • 設(shè)置元素屬性
    $("target").attr("attributeName","value")
  • 獲取元素屬性
    $("target").attr("attributeName")

使用 jQuery實(shí)現(xiàn)如下效果

<!doctype html>
<html>
    <head>
        <script src="https://code.jquery.com/jquery-1.9.1.js"></script>
    </head>
    <style>
        ul,li {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        a {
            margin: 0;
            padding: 0;
            text-decoration: none;
        }

        .nav>li {
            position: relative;
            background: red;
            height: 45px;
            width: 150px;
            color: white;
            border-bottom: 1px solid white;
        }

        .nav>li>a {
            padding: 0 40px 0 15px;
            vertical-align: center;
            color: white;
        }

        span {
            line-height: 45px;
            vertical-align: center;
        }

        .child-nav {
            position: absolute;
            top: 0;
            left: 150px;
            width: 110px;
            border: 1px solid grey;
            display: none;
        }

        .child-nav>ul:after {
            content: "";
            display: block;
            clear: both;
        }

        .child-nav li {
            float: left;
            padding: 10px;

        }
    </style>
    <body>
        <ul class="nav">
            <li>
                <a href="">珠寶玉器</a>
                <span>></span>
                <ul class="child-nav">
                    <li><a href="">翡翠</a></li>
                    <li><a href="">玉石</a></li>
                    <li><a href="">珍珠</a></li>
                    <li><a href="">瑪瑙</a></li>
                    <li><a href="">翠玉</a></li>
                    <li><a href="">琥珀</a></li>
                </ul>
            </li>
            <li>
                <a href="">珠寶玉器</a>
                <span>></span>
                <ul class="child-nav">
                    <li><a href="">翡翠</a></li>
                    <li><a href="">玉石</a></li>
                    <li><a href="">珍珠</a></li>
                    <li><a href="">瑪瑙</a></li>
                </ul>
            </li>
            <li>
                <a href="">珠寶玉器</a>
                <span>></span>
                <ul class="child-nav">
                    <li><a href="">翡翠</a></li>
                    <li><a href="">玉石</a></li>
                    <li><a href="">珍珠</a></li>
                    <li><a href="">瑪瑙</a></li>
                </ul>
            </li>
            <li>
                <a href="">珠寶玉器</a>
                <span>></span>
                <ul class="child-nav">
                    <li><a href="">翡翠</a></li>
                    <li><a href="">玉石</a></li>
                    <li><a href="">珍珠</a></li>
                    <li><a href="">瑪瑙</a></li>
                </ul>
            </li>
            <li>
                <a href="">珠寶玉器</a>
                <span>></span>
                <ul class="child-nav">
                    <li><a href="">翡翠</a></li>
                    <li><a href="">玉石</a></li>
                    <li><a href="">珍珠</a></li>
                    <li><a href="">瑪瑙</a></li>
                    <li><a href="">翠玉</a></li>
                    <li><a href="">琥珀</a></li>
                </ul>
            </li>
        </ul>
        <script>
            $(".nav").on("mouseenter", "li", function(){
                $(this).children("ul").css("display", "block")
            })
            $(".nav").on("mouseleave", "li", function(){
                $(this).children("ul").css("display", "none")
            })
        </script>
    </body>
</html>

使用 jQuery 實(shí)現(xiàn)如下效果

<!doctype html>
<html>
    <head>
        <script src="https://code.jquery.com/jquery-1.9.1.js"></script>
    </head>
    <style>
        body {
            font-size: 12px;
            color: #b2b4b7;
        }

        ul,li,h4,p {
            margin: 0;
            padding: 0;
        }

        li {
            list-style: none;
        }

        a {
            text-decoration: none;
            color: #b2b4b7;
        }

        .clearfix:after {
            content: "";
            display: block;
            clear: both;
        }

        .title {
            border: 1px solid #b2b4b7;
            border-radius: 3px 3px 0px 0px;
            margin: 0px;
            display: inline-block;
            margin-bottom: -4px;
            border-bottom: none;
        }

        .title .btn {
            float: left;
            padding: 8px 0px;
        }

        .title .btn a {
            display: inline-block;
            padding: 0px 8px;
            border-right: 1px solid #b2b4b7;
        }

        .title .btn:last-child a {
            border-right: none;
        }

        .container {
            border: 1px solid #b2b4b7;
            width: 676px;
            margin-bottom: 30px;
        }

        .container .panel {
            margin-left: -20px;
            display: none;
        }

        .container .item {
            float: left;
            border: 1px solid #b2b4b7;
            width: 170px;
            padding: 20px;
            margin-left: 20px;
            margin-bottom: 20px;
            position: relative;
        }

        .container .item img {
            display: block;
            width: 130px;
            margin: 0 auto;
        }

        .container .item p {
            color: red;
        }
        
        .container .last {
            margin-bottom: 0px;
        }

        .container .cover {
            background-color: rgba(0,0,0,0.2);
            z-index: 1;
            position: absolute;
            left: 0px;
            top: 0px;
            width: 100%;
            height: 100%;
            text-align: center;
            display: none;
        }

        .container .cover:after {
            content: "";
            display: inline-block;
            width: 0;
            height: 100%;
            vertical-align: middle;
        }

        .container .cover a {
            border: 1px solid red;
            border-radius: 2px;
            color: red;
            padding: 15px;
            background-color: white;
            display: inline-block;
            vertical-align: middle;
        }

        .container .active {
            display: block;
        }
        
        .hover {
            background-color: #b2b4b7;
            color: red;
        }

    </style>
    <body>
        <div class="wrap">
        <ul class="title clearfix">
            <li class="btn"><a href="">熱門</a></li>
            <li class="btn"><a href="">珠寶首飾</a></li>
            <li class="btn"><a href="">奢侈品</a></li>
        </ul>
        <div class="container">
            <ul class="panel clearfix active">
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
            </ul>
            <ul class="panel clearfix">
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-4280e1b80d0974fa.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥3699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥199</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1639</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
            </ul>
            <ul class="panel clearfix">
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-633911a609643739.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥3699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥2699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-633911a609643739.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1299</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥2199</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1639</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
            </ul>
        </div>
        </div>
        
        <div class="wrap">
        <ul class="title clearfix">
            <li class="btn"><a href="">熱門</a></li>
            <li class="btn"><a href="">珠寶首飾</a></li>
            <li class="btn"><a href="">奢侈品2</a></li>
        </ul>
        <div class="container">
            <ul class="panel clearfix active">
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
            </ul>
            <ul class="panel clearfix">
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-4280e1b80d0974fa.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥3699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥199</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1639</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
            </ul>
            <ul class="panel clearfix">
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-633911a609643739.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥3699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥2699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-633911a609643739.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1299</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥2199</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item last">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1639</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
            </ul>
        </div>
        </div>

        <script>
            $(".item").on("mouseenter", function(){
                $(this).children(".cover").addClass("active")
            }).on("mouseleave", function(){
                $(this).children(".cover").removeClass("active")
            })

            $(".title .btn").on("click", function(e){
                e.preventDefault()
                $(this).siblings().removeClass("hover")
                $(this).siblings().children("a").removeClass("hover")
                $(this).addClass("hover")
                $(this).children("a").addClass("hover")
                var index = $(this).index()
                $(this).parents(".wrap").find(".panel").removeClass("active")
                $(this).parents(".wrap").find(".panel").eq(index).addClass("active")
            })
        </script>
    </body>
</html>

實(shí)現(xiàn)如下效果

<!doctype html>
<html>
    <head>
        <script src="https://code.jquery.com/jquery-1.9.1.js"></script>
    </head>
    <style>
        body {
            font-size: 12px;
            color: #b2b4b7;
        }

        ul,li,h4,p {
            margin: 0;
            padding: 0;
        }

        li {
            list-style: none;
        }

        a {
            text-decoration: none;
            color: #b2b4b7;
        }

        .clearfix:after {
            content: "";
            display: block;
            clear: both;
        }

        .container {
            width: 676px;
        }

        .container .panel {
            margin-left: -20px;
            display: none;
        }

        .container .item {
            float: left;
            border: 1px solid #b2b4b7;
            width: 170px;
            padding: 20px;
            margin-left: 20px;
            margin-bottom: 20px;
            position: relative;
        }

        .container .item img {
            display: block;
            width: 130px;
            margin: 0 auto;
        }

        .container .item p {
            color: red;
        }

        .container .cover {
            background-color: rgba(0,0,0,0.2);
            z-index: 1;
            position: absolute;
            left: 0px;
            top: 0px;
            width: 100%;
            height: 100%;
            text-align: center;
            display: none;
        }

        .container .cover:after {
            content: "";
            display: inline-block;
            width: 0;
            height: 100%;
            vertical-align: middle;
        }

        .container .cover a {
            border: 1px solid red;
            border-radius: 2px;
            color: red;
            padding: 15px;
            background-color: white;
            display: inline-block;
            vertical-align: middle;
        }

        .container .active {
            display: block;
        }
        
        .hover {
            background-color: #b2b4b7;
            color: red;
        }

        .btn {
            display: inline-block;
            padding: 10px;
            border: 1px solid red;
            color: red;
            border-radius: 2px;
        }

    </style>
    <body>
        <div class="container">
            <h1>珠寶首飾</h1>
            <ul class="panel clearfix active">
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
                <li class="item">
                    ![](http://upload-images.jianshu.io/upload_images/4394888-2eb84f81ceba3acd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                    <h4 class="name">藏美千足金和田玉金鑲玉路路通吊墜</h4>
                    <p class="price">¥1699</p>
                    <div class="cover">
                        <a href="">立即搶購</a>
                    </div>
                </li>
            </ul>
            <a href="" class="btn">添加</a>      
        </div>
        <script>
            var products = [
                {
                    img: 'http://img10.360buyimg.com/N3/jfs/t2242/92/1446546284/374195/9196ac66/56af0958N1a723458.jpg',
                    name: '珂蘭 黃金手 猴哥款',
                    price: '¥405.00'
                },{
                    img: 'http://img10.360buyimg.com/N3/jfs/t2242/92/1446546284/374195/9196ac66/56af0958N1a723458.jpg',
                    name: '珂蘭 黃金轉(zhuǎn)運(yùn)珠 猴哥款',
                    price: '¥100.00'
                },{
                    img: 'http://img10.360buyimg.com/N3/jfs/t2242/92/1446546284/374195/9196ac66/56af0958N1a723458.jpg',
                    name: '珂蘭 黃金手鏈 3D猴哥款',
                    price: '¥45.00'
                }
            ]

            $(".btn").on("click", function(e){
                e.preventDefault()
                addHTML(products)
            })

            showCover()

            function addHTML(json){
                var html = ""
                for (i=0; i<json.length; i++){
                    html += '<li class="item">'
                    html += '![](' + json[i].img + ')'
                    html += '<h4 class="name">' + json[i].name + '</h4>'
                    html += '<p class="price">' + json[i].price + '</p>'
                    html += '<div class="cover">'
                    html += '<a href="">立即搶購</a>'
                    html += '</div></li>'
                }
                console.log(html)
                $(".panel").append(html)
            }

            function showCover(){
                $(".panel").on("mouseenter", ".item", function(){
                    $(this).children(".cover").addClass("active")
                }).on("mouseleave", ".item", function(){
                    $(this).children(".cover").removeClass("active")
                })
            }
        </script>
    </body>
</html>

完成 左右切換的 Tab 效果

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Task14-4</title>
    <style>
        ul,li{
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .row1{
            display: flex;
            margin-top: 30px;
            height: 30px;
            border: 1px solid lightgray;
            border-right: none;
        }
        .tab{
            width: 33.33%;
            line-height: 30px;
            text-align: center;
            border-right: 1px solid lightgray;
            cursor: pointer;
        }
        .active {
            background: #eee;
        }
        .row2{
            height: 181px;
            overflow: hidden;
        }
        .content{
            position: relative;
            top: 0;
            padding: 20px 0 0 20px;
            height: 160px;
            background: red;
            border: 1px solid lightgray;
            border-top: none;
        }
        .content2{
            background: green;
        }
        .content3{
            background: blue;
        }
    </style>
</head>
<body>
    <ul class="row1">
        <li class="tab active">tab1</li>
        <li class="tab">tab2</li>
        <li class="tab">tab3</li>
    </ul>
    <ul class="row2">
        <li class="content">content 1</li>
        <li class="content content2">content 2</li>
        <li class="content content3">content 3</li>
    </ul>
    <script src="http://code.jquery.com/jquery-3.2.1.min.js"></script>
    <script>
        $('.tab').on('click',function(){
            var $cur = $(this);
            var idx = $cur.index();
            var height = $('.row2').height();
            $cur.addClass('active').siblings().removeClass('active');
            $cur.parents('body').find('.content').animate({top:-height*idx});
        });
    </script>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計者無需花費(fèi)時間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,277評論 0 1
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計者無需花費(fèi)時間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,513評論 0 2
  • 1、 jQuery 能做什么? jquery是一個豐富的js庫,內(nèi)部對js的很多復(fù)雜的方法進(jìn)行了封裝和加工,比如j...
    zh_yang閱讀 1,513評論 6 13
  • 原文鏈接 http://blog.poetries.top/2016/10/20/review-jQuery 關(guān)注...
    前端進(jìn)階之旅閱讀 16,957評論 18 503
  • 題目1: jQuery 能做什么? 選擇網(wǎng)頁元素 改變結(jié)果集 元素的操作:取值和賦值 元素的操作:移動 元素的操作...
    cheneyzhangch閱讀 469評論 0 1

友情鏈接更多精彩內(nèi)容