zoukankan      html  css  js  c++  java
  • 百度音乐

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>百度音乐</title>
            <script type="text/javascript" src="js/vue.js"></script>
            <style>
                body,ul,li{
                    margin: 0;
                    padding: 0;
                    list-style: none;
                }
                .list-body li:nth-child(even){
                    background: yellow;
                }
                .list-body li:nth-child(odd){
                    background: #fff;
                }
                .list-body li:hover{
                    background: green;
                }
                .list-body li.checkedColor{
                    background: green;
                }
            </style>
            <script>
                let data=[
                    {
                        id:Date.now()+Math.random(),
                        name:'邓紫棋',
                        song:'泡沫',
                        checked:false,
                        album:10
                    },
                    {
                        id:Date.now()+Math.random(),
                        name:'张杰',
                        song:'天下',
                        checked:true,
                        album:10
                    },
                    {
                        id:Date.now()+Math.random(),
                        name:'邓紫棋',
                        song:'泡沫',
                        checked:false,
                        album:10
                    },
                ]
            </script>
        </head>
        <body>
            <div class="wrap" id="app">
                <div class="baidu">
                    <ul class="list list-head">
                        <li>
                            <div>
                                <input type="checkbox" v-model="isCheckedAll"/>全选
                            </div>
                            <span>歌单</span>
                            <span>歌手</span>
                            <span>专辑</span>
                        </li>
                    </ul>
                    <ul class="list list-body">
                        <li 
                            v-for="item in songList"
                            >
                            <div>
                                <input v-model="item.checked" type="checkbox" />
                            </div>
                            <span>{{item.song}}</span>
                            <span>{{item.name}}</span>
                            <span>{{item.album}}</span>
                        </li>
                        
                    </ul>
                    <div class="select">
                        <span class="selectAll">
                            <span>统计:</span>
                        </span>
                        <div class="others">
                            <span><em></em>选中的歌手有:{{selectedSongersLen}}位</span>
                            <span><em></em>专辑有{{album}}张</span>
                        </div>
                    </div>
                </div>
            </div>
        </body>
        <script>
            new Vue({
                el:"#app",
                data:{
                    songList:data
                },
                computed:{
                    isCheckedAll:{
                        get(){
                            console.log('取值')
                            return this.songList.every(function(item){
                            return item.checked
                            });
                        },
                        set(newValue){
                            console.log('设置值了')
                            console.log(newValue)
                            this.songList.forEach(item=>item.checked=newValue)
                        }
                    },
                    
                    
                    selectedSongersLen(){
                        let songer=this.songList.filter(item=>item.checked)
                        return fn(songer).length
                    },
                    
                    album(){
                        return this.songList.filter(item=>item.checked).reduce((n,item2)=>n+item2.album,0)
    //                    let n=0;
    //                    this.songList.forEach(function(item){
    //                        n+=item.album
    //                    })
    //                    return n;
                    }
                }
            })
    //        去重
            function fn(option){
                var json={}
                var arr=[]
                option.forEach((item)=>{
                    console.log(json[item.nama])
                    if(!json[item.name]){
                        json[item.name]=true
                        arr.push(item)
                    }
                })
                console.log(arr)
                return arr;
            }
        </script>
    </html>

  • 相关阅读:
    深入浅出RxJava
    android 图像处理系列合集
    WebView·开发指南
    LocalBroadcastManager 的实现原理,Handler还是 Binder?
    TCP协议中的三次握手和四次挥手(图解)
    Android进程保活
    Android只能动态注册的广播Action
    WakeLock, AlarmManager, JobScheduler
    jQuery验证控件jquery.validate.js使用说明+中文API
    IntelliJ IDEA的自动提示貌似是区分大小写的,首字母小写的话,怎么都提示不出来。
  • 原文地址:https://www.cnblogs.com/gxywb/p/13534737.html
Copyright © 2011-2022 走看看