jquery的一个onmouseover-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

jquery的一个onmouseover

2016-03-13 11:26:23 1612 1

网上下载了一个热门城市的文字标签云,有些代码不是很懂, string_ 等于什么 ,function on_mouseover(e, ev)函数是什么意思, $("#my_words").jQCloud(word_list);中jqcloud是什么

    var string_ = "";
    for (var i = 0; i < data.length; i++) {
        var string_f = data[i][0];
        var string_n = data[i][1];
        string_ += "{text: '" + string_f + "', weight: '" + string_n + "',html: {'class': 'span_list',onmouseover:'on_mouseover(this,event)',onmouseout:'on_mouseout()'}},";
    }

    function on_mouseover(e, ev) {
        var txt = $(e).html();
        $.each(data, function(i, item) {
            if (txt == item[0]) {
                var html = item[0] + "<br />频率:" + item[1];
                $("#my_words").after("<div class='append_div' style='left:" + ev.clientX + "px; top:" + ev.clientY + "px; '>" + html + "</div>");
                return;
            }
        });
    }
    $(function() {
        $("#my_words").jQCloud(word_list);
    });
    var string_list = string_;
    var word_list = eval("[" + string_list + "]");

    function on_mouseout() {
        $(".append_div").remove();
    }
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:02:17

    注释里有简单的解释

    // 这一段应该是在拼(凑)数据

    var string_ = "";
    for (var i = 0; i < data.length; i++) {
        var string_f = data[i][0];
        var string_n = data[i][1];
        // 每次循环会往 string_ 里加一个对象的类(似) JSON 数据(之所以说是类 JSON,
        // 因为它不符合 JSON 的定义,但是这个字符串的内容是一个 JavaScript 对象的描述
        string_ += "{text: '" + string_f + "', weight: '" + string_n + "',html: {'class': 'span_list',onmouseover:'on_mouseover(this,event)',onmouseout:'on_mouseout()'}},";
    }
    
    // 定义一个函数,看样子应该是绑定给某个对象的 mouseover 事件
    function on_mouseover(e, ev) {
        var txt = $(e).html();
        $.each(data, function(i, item) {
            if (txt == item[0]) {
                var html = item[0] + "<br />频率:" + item[1];
                $("#my_words").after("<div class='append_div' style='left:" + ev.clientX + "px; top:" + ev.clientY + "px; '>" + html + "</div>");
                return;
            }
        });
    }
    
    // jQCloud 是一个插件,看这里:http://www.oschina.net/p/jqcloud
    $(function() {
        $("#my_words").jQCloud(word_list);
    });
    
    // 这里在使用上面拼出来的 string_,在它的前后加了 [],表示这是一个数组数据描述
    var string_list = string_;
    var word_list = eval("[" + string_list + "]");
    
    // 定义一个函数,也应该是在某个地方绑定给某个对象的 mouseout 事件的
    function on_mouseout() {
        $(".append_div").remove();
    }

    // mouseover 和 mouseout 事件通常成对出现,不过至少在都出现的情况下,放在一起比较好看
    不过拼数据那一块简直太弱了,jQCloud 要的本来就是个 JavaScript 数组,直接给数据就行,为毛要拼成字符串再来

    0 0
相关问答

12

回答

在阿里云上安装和运行Node.js全功略

ycwong 2013-09-18 15:17:30 66050浏览量 回答数 12

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 57678浏览量 回答数 19

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 159293浏览量 回答数 145

28

回答

钉钉开放平台“常见问题常见问题常见问题“重要请关注

竹梅 2015-12-03 00:39:14 95853浏览量 回答数 28

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 148462浏览量 回答数 22

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 147417浏览量 回答数 31

23

回答

【云服务器分享】网站访问速度快才是硬道理

dreamdoo 2012-10-15 10:15:02 86327浏览量 回答数 23

13

回答

【云服务器分享】如何节省网站流量

dreamdoo 2012-10-15 10:36:09 81406浏览量 回答数 13

15

回答

对象存储oss【问答合集】

我是管理员 2018-08-03 14:54:02 68995浏览量 回答数 15

3

回答

Nginx—owncloud安装记事

寒喵 2014-06-07 23:24:41 49543浏览量 回答数 3
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载