zoukankan      html  css  js  c++  java
  • jquery实现手风琴效果

    html----accordion.html

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>simple Demo</title>
        <link rel="stylesheet" type="text/css" href="accordion.css">
        <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
    </head>
    <body> 
        <div class="simple_container">
            <div class="type_select">
                <select>
                    <option value="Chart">Chart</option>
                    <option value="table">Table</option>
                </select>
            </div>
            <div class="simple_accordion">
                <div class="accordion_first">
                    <a href="javascript:void(0)" class="accrodion_title" >css选择器的种类</a>
                    <div class="accordion_content"></div>
                </div>
                <div class="accordion_second">
                    <a href="javascript:void(0)" class="accrodion_title" >Array的常见方法</a>
                    <div class="accordion_content"></div>
                </div>
                
            </div>
        </div>
    
    
    </body>
    <script src="../build/bundle.js"></script> //注意这里引用的是模块化后的文件,见webpack.config.js 中的output
    
    </html>

    js文件-----accordion.js

    define(function() {
        // $(document).ready(function(){
        'use strict';
        var accordion = function() {
            this.$el = $(".simple_accordion");
            this._init();
    
        };
        accordion.prototype = {
            _init: function() {
                var self=this;
                $.get("accordion.json", function(data) {
                    self.eventBind(data);
                });
            },
            // change select list
            eventBind: function(data) {
                $("select").change(function() {
                    var type_content = $(this).val();
                    if (type_content === "table") {
                        $(".simple_accordion").css("display", "none");
                    } else {
                        $(".simple_accordion").css("display", "block");
                    }
    
                });
    
                // bind event on parent element
                $(".simple_accordion").delegate('div', 'click', function(event) {
                    var target = event.target.parentNode.className;
                    var $first_content = $(".accordion_first").find("div");
                    var $second_content = $(".accordion_second").find("div");
                    var firstHtml = "";
                    var secondHtml = "";
                    $(".simple_accordion").addClass("big");
                    if (target === "accordion_first") {
                        data.css_selector.forEach(function(element, index, arr) {
                            firstHtml += '<div class="css_list"><span class="icon_dot"></span><span class="css_text">' + element + '</span></div>';
                        });
                        $first_content.html("").append(firstHtml).show();
                        $second_content.html("").toggle();
                    } else if (target === "accordion_second") {
                        data.Array_method.forEach(function(element, index, arr) {
                            secondHtml += '<div class="arr_list"><span class="icon_dot"></span><span class="arr_text">' + element + '</span></div>';
                        });
                        $second_content.html("").append(secondHtml).show();
                        $first_content.html("").toggle();
                    }
    
                });
    
            }
    
        };
        return accordion;
    });

    css文件------accordion.css

    .simple_container{
        margin-left: 100px;
    }
    .simple_accordion{
        width:200px;
        border: 2px solid #483d8b;
        margin-top: 5px;
    
    }
    .accrodion_title{
        /*border-bottom :2px solid #3cb371;*/
        padding: 5px;
        text-decoration: none;
        color: #9400d3;
        font-weight: bold;
    
    }
    .icon_dot{
        width: 4px;
        height: 6px;
        background-color: #0000ff;
        display: inline-block;
        padding-left: 3px; 
    }
    .css_list,.arr_list{
        padding-left: 10px;
    }

    本文假设手风琴中的内容是动态从服务器的accordion.json中获取。accordion.json

    {
        "css_selector":["element_selector","id_selector","class_selector","attr_selector","descendant_selector","child_selector","adjscent_sibling_selector"],
        "Array_method":["contact","join","pop & push","(un)shift","splice","slice","sort","reverse"]
    }

    本文又使用了webpack将代码模块化。webpack.config.js

    module.exports = {
      entry: './src/index.js',//页面入口文件配置
      output: {               //入口文件输出配置
        path: './build', 
        // publicPath: 'http://mycdn.com/', // This is used to generate URLs to e.g. images
        filename: 'bundle.js'
      },
      ststs:{
        color:true,
        modules:true,
        reasons:true
      },
      //加载器配置
      module: {
        loaders: [
          { test: /.less$/, loader: 'style-loader!css-loader!less-loader' }, // use ! to chain loaders
          { test: /.css$/, loader: 'style-loader!css-loader' },
          { test: /.(png|jpg)$/, loader: 'url-loader?limit=8192'}, // inline base64 URLs for <=8k images, direct URLs for the rest
          { test: /.svg$/,loader:"url?limit=15000&mimetype=image/svg+xml"},
          { test: /.woff(?v=d+.d+.d+)?$/,loader:"url?limit=100000&minetype=application/x-font-woff"},
          { test:/.html$/,loader:"html?attrs=img:src input:src"},
          { test: /.js$/, loader: 'jsx-loader?harmony' }
        ]
      }
    };

    入口文件index.js

    var accordion=require("../src/accordion.js");
    var accor =new accordion();
  • 相关阅读:
    Brain network involved in autonomic functions 与自主功能相关的大脑网络
    Brief summary of classical components of ERP 事件相关成分(ERP)经典成分小结
    ICA & Percentage Variance Account For (PVAF)
    数据处理中白化Whitening的作用图解分析
    Loadings vs eigenvectors in PCA 主成分分析(PCA)中的负荷和特征向量
    主成分分析(PCA)和独立成分分析(ICA)相关资料
    Sketch of heart and QRS complex 心脏及QRS波群简图
    Brain Network visulation in EEG 脑电网络可视化
    Phase Locking Value (PLV) 神经信号的锁相值
    ubuntu16.04下的一些基本操作笔记
  • 原文地址:https://www.cnblogs.com/alisayuan/p/5275562.html
Copyright © 2011-2022 走看看