echartsは、ヒストグラムをクリックすると、Clickイベントがトリガされます

プロジェクトの要件:
データが棒グラフで示されている1 echarts
対応するバーグラフが表示対応のポップ2.クリック

echartsは、主に「クリック」イベントで使用する場合、デモを使用します。

 
VAR myChart = echarts.init(のdocument.getElementById(DOMS)); //初期化オブジェクト
myChart.on(' クリック'、機能(のparams ){
             VARの答え= のparams .seriesName;
             VARの数= のparams .nameの;
             VARカウント値= のparams .VALUE。
            console.log(paramsは)。
            console.log(' 题号:'paramsは .componentIndex + 1paramsは.nameの)。
            console.log(' 選択した答えは:'paramsは.seriesName)。
            console.log(' 選択された回答数は:'paramsは.Valueのを)。
                
     
     // getStuAnswer(params.seriesName、examClassId、params.name); // 呼び出しインターフェース
})

ケース:

だっ examClassId = 1470 ;
データXは= [ ' 1 '' 2 '' 3 '' 4 ' ]。
データY = [ 99907080 ]。
addStatic(' チャート' 、DATAX、DATAY、examClassId)。
/ * *
     *統計の回答
     * * /
    関数addStatic(DOMS、DATAX、DATAY、examClassId){
        だっ myChart = echarts.init(のdocument.getElementById(判定));
       オプション= {
                ツールチップ:{
                    トリガー:
                }、
                ツールボックス:{
                    ショー:
                    機能:{
                        magicType:{ショー:、タイプ:[ ' '' バー' ]}、
                        リストア:{ショー:}
                        saveAsImage:{ショー:}
                    }
                }、
                X軸:{
                    タイプ:カテゴリ
                    データ:DATAX、
                    名前:質問
                }、
                Y軸:{
                    タイプ:
                    名前:番号
                }、
                dataZoom:[{
                    ショー:
                    初期値:0 
                    endValueの:10 
                }、
                {
                    タイプ:内部
                    初期値:1 
                    endValueの:10 
                }]、
                グリッド:{
                    左:' 4%' 
                    右:' 4%' 
                    下:' 3%' 
                    containLabel:
                }、
                シリーズ:[{
                    データ:データY、
                    タイプ:バー
                    barWidth:20 
                    itemStyle:{
                         正常:{
                             正常:{
                                 色:' #1 4ad2ff '
                             }、
                            ラベル:{
                                ショー:
                                位置:トップ
                                フォーマッタ:' {C}人'
                            }
                        }
                    }
                }]
            }。
        myChart.clear();
        myChart.setOption(オプション)。
        window.addEventListener(' リサイズ' 、関数(){myChart.resize();})
        
        myChart.on( 'クリック'、機能(のparams){//主要代码
            するvar答え=のparams.seriesName;
            VARの数=のparams.nameの;
            VARカウント値=のparams.VALUE。
            console.log(paramsは)。
            console.log(' 题号:'paramsは .componentIndex + 1paramsは.nameの)。
            console.log(' 選択した答えは:'paramsは.seriesName)。
            console.log(' 選択された回答の数:'paramsは.Valueのを);
             // getStuAnswer(params.seriesName、examClassId、params.name); 
            layer.open({
                タイプ:2 
                タイトル:最初の + +ナンバータイトル選択した答えは: +答え+ 生徒がいた +カウント値+ 
                エリア:[ ' 500pxなど'' 500pxなど' ]、
                日陰:0.2 
                MAXMIN:
                内容:' stuAnswerList.html ' 
                成功:機能(layero、インデックス){
                    // 取得サブページのiframe 
                    VARのiframeウィンドウ= [ ' layui-レイヤのiframe ' + インデックス];
                    setTimeout(関数(){
                        iframe.init(答えは、examClassId、数);
                    }、200 )。
                }
            });
            
        })
    }
    / * *
    *学生は、このオプションを選択しWhoChoseTheAnswer
    * /
    関数getStuAnswer(答え、examClassId、数){
        $アヤックス({
            URL:' / XXXXXXXX / whoAnswer ' 、//インタフェース
            タイプ:ポスト
            データ:{答え:答え、examClassId:examClassId、数:数}、
            成功:機能(RES){
                console.log(RES)。
                もし(res.code == " 0000 " ){
                     場合(res.data!= nullの){
                         場合(res.data.length!= 0 ){
                             VARのhtml = ' の<div> <ulのクラス= "stuList"> ' ;
                            $ .each(res.data、機能(I、ELOM){
                                もし((I + 1)== {res.data.length)
                                    HTML + = ' <LI> ' + elom.info + ' <スパンのスタイル= "マージン左:10pxの;"> ' + elom.name + ' </ span>を</ LI> </ UL> ' 
                                } {
                                    HTML + = ' <LI> ' + elom.info + ' <スパンのスタイル= "マージン左:10pxの;"> ' + elom.name + ' </ span>を</ LI> '
                                }
                            })
                            HTML + = ' </ div> ' ;
                            layer.open({
                                タイトル:最初の + +ナンバー:質問には、答えを選択し、」 +答え+ 学生情報を
                                内容:HTML、
                                エリア:[ ' 520px '' 520px ' ]、
                                closeBtn:0 
                                はい:機能(){
                                    layer.closeAll();
                                }
                            });
                        }
                    }
                }
            }、
            エラー:関数(E){
                console.log(' サーバー異常' );
            }
        })
    }

レンダリング:

おすすめ

転載: www.cnblogs.com/lvxisha/p/11890031.html