前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >flask 鼠标进入时显示弹窗(flask 99)

flask 鼠标进入时显示弹窗(flask 99)

作者头像
用户5760343
发布于 2019-08-21 06:24:59
发布于 2019-08-21 06:24:59
1.1K00
代码可运行
举报
文章被收录于专栏:sktjsktj
运行总次数:0
代码可运行
bootstrap的popover组件

html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <div class="col-md-8">
        {% if photos %}
            {% for photo in photos %}
                <div class="card mb-3 w-100 bg-light">
                    <div class="card-header">
                        <a class="dead-link" href="{{ url_for('user.index', username=photo.author.username) }}">
                            <img class="rounded img-fluid avatar-s profile-popover"
                                 data-href="{{ url_for('ajax.get_profile', user_id=photo.author.id) }}"
                                 src="{{ url_for('main.get_avatar', filename=photo.author.avatar_m) }}">
                        </a>
                        <a class="profile-popover trend-card-avatar"
                           data-href="{{ url_for('ajax.get_profile', user_id=photo.author.id) }}"
                           href="{{ url_for('user.index', username=photo.author.username) }}">{{ photo.author.name }}</a>
                        <span class="float-right">
            <small data-toggle="tooltip" data-placement="top" data-timestamp="{{ photo.timestamp }}"
                   data-delay="500">
                {{ moment(photo.timestamp).fromNow(refresh=True) }}</small></span>
                    </div>

js

$(function () { var default_error_message = 'Server error, please try again later.';

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$.ajaxSetup({
    beforeSend: function (xhr, settings) {
        if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type) && !this.crossDomain) {
            xhr.setRequestHeader('X-CSRFToken', csrf_token);
        }
    }
});

$(document).ajaxError(function (event, request, settings) {
    var message = null;
    if (request.responseJSON && request.responseJSON.hasOwnProperty('message')) {
        message = request.responseJSON.message;
    } else if (request.responseText) {
        var IS_JSON = true;
        try {
            var data = JSON.parse(request.responseText);
        }
        catch (err) {
            IS_JSON = false;
        }
        if (IS_JSON && data !== undefined && data.hasOwnProperty('message')) {
            message = JSON.parse(request.responseText).message;
        } else {
            message = default_error_message;
        }
    } else {
        message = default_error_message;
    }
    toast(message, 'error');
});

var flash = null;

function toast(body, category) {
    clearTimeout(flash);
    var $toast = $('#toast');
    if (category === 'error') {
        $toast.css('background-color', 'red')
    } else {
        $toast.css('background-color', '#333')
    }
    $toast.text(body).fadeIn();
    flash = setTimeout(function () {
        $toast.fadeOut();
    }, 3000);
}

var hover_timer = null;

function show_profile_popover(e) {
    var $el = $(e.target);

    hover_timer = setTimeout(function () {
        hover_timer = null;
        $.ajax({
            type: 'GET',
            url: $el.data('href'),
            success: function (data) {
                $el.popover({
                    html: true,
                    content: data,
                    trigger: 'manual',
                    animation: false
                });
                $el.popover('show');
                $('.popover').on('mouseleave', function () {
                    setTimeout(function () {
                        $el.popover('hide');
                    }, 200);
                });
            }
        });
    }, 500);
}

function hide_profile_popover(e) {
    var $el = $(e.target);

    if (hover_timer) {
        clearTimeout(hover_timer);
        hover_timer = null;
    } else {
        setTimeout(function () {
            if (!$('.popover:hover').length) {
                $el.popover('hide');
            }
        }, 200);
    }
}

function update_followers_count(id) {
    var $el = $('#followers-count-' + id);
    $.ajax({
        type: 'GET',
        url: $el.data('href'),
        success: function (data) {
            $el.text(data.count);
        }
    });
}

function update_collectors_count(id) {
    $.ajax({
        type: 'GET',
        url: $('#collectors-count-' + id).data('href'),
        success: function (data) {
            console.log(data);
            $('#collectors-count-' + id).text(data.count);
        }
    });
}

function update_notifications_count() {
    var $el = $('#notification-badge');
    $.ajax({
        type: 'GET',
        url: $el.data('href'),
        success: function (data) {
            if (data.count === 0) {
                $('#notification-badge').hide();
            } else {
                $el.show();
                $el.text(data.count)
            }
        }
    });
}

function follow(e) {
    var $el = $(e.target);
    var id = $el.data('id');

    $.ajax({
        type: 'POST',
        url: $el.data('href'),
        success: function (data) {
            $el.prev().show();
            $el.hide();
            update_followers_count(id);
            toast(data.message);
        }
    });
}

function unfollow(e) {
    var $el = $(e.target);
    var id = $el.data('id');

    $.ajax({
        type: 'POST',
        url: $el.data('href'),
        success: function (data) {
            $el.next().show();
            $el.hide();
            update_followers_count(id);
            toast(data.message);
        }
    });
}

function collect(e) {
    var $el = $(e.target).data('href') ? $(e.target) : $(e.target).parent('.collect-btn');
    var id = $el.data('id');

    $.ajax({
        type: 'POST',
        url: $el.data('href'),
        success: function (data) {
            $el.prev().show();
            $el.hide();
            update_collectors_count(id);
            toast(data.message);
        }
    });
}

function uncollect(e) {
    var $el = $(e.target).data('href') ? $(e.target) : $(e.target).parent('.uncollect-btn');
    var id = $el.data('id');
    $.ajax({
        type: 'POST',
        url: $el.data('href'),
        success: function (data) {
            $el.next().show();
            $el.hide();
            update_collectors_count(id);
            toast(data.message);
        }
    });
}

$('.profile-popover').hover(show_profile_popover.bind(this), hide_profile_popover.bind(this));
$(document).on('click', '.follow-btn', follow.bind(this));
$(document).on('click', '.unfollow-btn', unfollow.bind(this));
$(document).on('click', '.collect-btn', collect.bind(this));
$(document).on('click', '.uncollect-btn', uncollect.bind(this));

// hide or show tag edit form
$('#tag-btn').click(function () {
    $('#tags').hide();
    $('#tag-form').show();
});
$('#cancel-tag').click(function () {
    $('#tag-form').hide();
    $('#tags').show();
});
// hide or show description edit form
$('#description-btn').click(function () {
    $('#description').hide();
    $('#description-form').show();
});
$('#cancel-description').click(function () {
    $('#description-form').hide();
    $('#description').show();
});
// delete confirm modal
$('#confirm-delete').on('show.bs.modal', function (e) {
    $('.delete-form').attr('action', $(e.relatedTarget).data('href'));
});

if (is_authenticated) {
    setInterval(update_notifications_count, 30000);
}

$("[data-toggle='tooltip']").tooltip({title: moment($(this).data('timestamp')).format('lll')})

});

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.08.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
常用的表格检测识别方法-表格内容识别方法
表格识别的研究主要涉及两个方面,一方面是对单元格内的文本进行识别,这一步通常是在确定单元格区域后,利用较为稳定的光学字符识别方法(OCR)来实现,这一方面不是表格识别研究的重点,不在此展开;另一方面是基于整个表格内容进行的表格分类、单元格分类、以及表格信息抽取等任务,这是当前表格识别研究的热门领域之一。下文会对表格信息抽取进行展开讲述。
合合技术团队
2023/06/12
7030
常用的表格检测识别方法-表格内容识别方法
常用的表格检测识别方法-表格区域检测方法(上)
表格检测识别一般分为三个子任务:表格区域检测、表格结构识别和表格内容识别。本章将围绕这三个表格识别子任务,从传统方法、深度学习方法等方面,综述该领域国内国外的发展历史和最新进展,并提供几个先进的模型方法。
合合技术团队
2023/05/18
1.7K0
常用的表格检测识别方法-表格区域检测方法(上)
ICDAR 2019表格识别论文与竞赛综述(上)
表格作为一种有效的数据组织与展现方法被广泛应用,也成为各类文档中常见的页面对象。随着文档数目的爆炸性增长,如何高效地从文档中找到表格并获取内容与结构信息即表格识别,成为了一个亟待解决的问题。ICDAR是一个专注于文档分析与识别问题的国际学术会议,已经连续多届设置了表格识别专题。在今年的ICDAR 2019会议上,有不少研究者在表格检测与结构识别等领域做出了新的贡献,使其有了新的进展。本课题组梳理了该会议中有关表格识别的16篇论文,总结该领域当前的研究进展与挑战。同时,值得注意的是,该会议也举办了关于表格检测与结构识别的比赛,我们对参赛队伍使用的方法与结果进行了一些讨论。
AI算法与图像处理
2019/11/29
6.7K0
基于深度学习的表格检测与识别技术优势
是信息高度精炼集中,方便信息的检索和比较。表格被广泛用于表示结构和功能信息,它们出现在不同种类的文献中,包括报纸、研究论文和科学文件等。表格使读者能够快速地比较、分析和理解文件中出现的事实。表格识别的目的是获取图像中的表格并访问其数据,是文档分析与识别领域的一个重要分支。
合合技术团队
2023/02/21
9280
OCR技术难点解读:数学公式检测与识别
文档解析中的数学表达式检测与识别(Mathematical Expression Detection and Recognition, MEDR)是自然语言处理和计算机视觉交叉领域的重要技术,目的在于从文档中定位并解析数学公式,将其转化为结构化表示(如LaTeX、MathML等)。
合合技术团队
2025/04/23
2150
OCR技术难点解读:数学公式检测与识别
人脸识别技术的发展历程
人脸识别既是一项起源较早的技术,又是一门焕发着活跃生命力、充满着学术研究魅力的新兴技术领域。随着近些年人工智能、大数据、云计算的技术创新幅度的增大,技术更迭速度的加快,人脸识别作为人工智能的一项重要应用,也搭上了这3辆“快车”,基于人脸识别技术的一系列产品实现了大规模落地。
AI算法与图像处理
2019/06/10
10.1K0
人脸识别技术的发展历程
达观陈运文:OCR技术发展综述与达观数据的实践经验
光学字符识别OCR技术(Optical Character Recognition)是指从图像中自动提取文字信息的技术。这项技术横跨了人工智能里的两大领域:CV(计算机视觉)和NLP(自然语言处理),综合使用了这两大领域中的很多技术成果。
用户10103085
2022/10/12
1.1K0
达观陈运文:OCR技术发展综述与达观数据的实践经验
AI技术 | 过年黑夜中也可以准确检测识别(附论文下载)
计算机视觉研究院专栏 作者:Edison_G 在弱光图像中进行人脸检测具有挑战性,因为照片数量有限,而且不可避免地会有噪声,而这些噪声往往在空间上分布不均匀,使得这项任务更加困难。 长按扫描二维码关注我们一、简要在弱光图像中进行人脸检测具有挑战性,因为照片数量有限,而且不可避免地会有噪声,而这些噪声往往在空间上分布不均匀,使得这项任务更加困难。一个自然的解决方案是借用多重曝光的想法,即在具有挑战性的条件下捕捉多个镜头以获得良好曝光的图像。然而,对单一图像进行高质量的多重曝光的实现/近似是很重要的。
计算机视觉研究院
2022/03/04
4760
常用的表格检测识别方法——表格结构识别方法(上)
表格结构识别是表格区域检测之后的任务,其目标是识别出表格的布局结构、层次结构等,将表格视觉信息转换成可重建表格的结构描述信息。这些表格结构描述信息包括:单元格的具体位置、单元格之间的关系、单元格的行列位置等。
合合技术团队
2023/05/24
1.5K0
常用的表格检测识别方法——表格结构识别方法(上)
ICDAR 2019表格识别论文与竞赛综述(下)
在表格识别领域,数据集规模一直是一个有待解决的问题。此前在表格识别或版面分析领域中,规模较大的数据集包括Marmot和ICDAR2017 POD竞赛数据集,也仅仅包含数千张文档页面图像而已,这对于数据驱动的深度学习方法来说是不够的,导致训练出的模型并没有有足够说服力的泛化能力和鲁棒性。所以在最近的工作中,也有不少学者针对表格识别领域发布了一些数据集,此次ICDAR2019会议中也不例外。
AI算法与图像处理
2019/11/29
4.2K0
最新图文识别技术综述
牛小明为四川长虹电器股份有限公司的资深专家,也跟CV君一样曾供职于华为,是两个可爱宝贝的父亲,研究领域涉及图像、语音、文本信号处理和机器人等,Tel:15882855846; Email: xiaoming1.niu@changhong.com
CV君
2019/12/27
2.6K0
常用的表格检测识别方法——表格结构识别方法 (下)
表格结构识别是表格区域检测之后的任务,其目标是识别出表格的布局结构、层次结构等,将表格视觉信息转换成可重建表格的结构描述信息。这些表格结构描述信息包括:单元格的具体位置、单元格之间的关系、单元格的行列位置等。在当前的研究中,表格结构信息主要包括以下两类描述形式:1)单元格的列表(包含每个单元格的位置、单元格 的行列信息、单元格的内容);2)HTML代码或Latex代码(包含单元格的位置信息,有些也会包含单元格的内容)。
合合技术团队
2023/06/01
3.3K0
常用的表格检测识别方法——表格结构识别方法 (下)
人脸检测识别助力各种活动活动安全举办(附源代码)
计算机视觉研究院专栏 作者:Edison_G 一百年来,中国共产党团结带领中国人民,以“为有牺牲多壮志,敢教日月换新天”的大无畏气概,书写了中华民族几千年历史上最恢宏的史诗。这一百年来开辟的伟大道路、创造的伟大事业、取得的伟大成就,必将载入中华民族发展史册、人类文明发展史册! 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 今天给大家介绍一个人脸检测框架,尤其在低光情况下的检测。 论文: https://arxiv.org/pdf/2007.10963.pdf 1 简
计算机视觉研究院
2022/06/29
3.6K0
人脸检测识别助力各种活动活动安全举办(附源代码)
【文本检测与识别-白皮书】第二章:文本检测与识别技术发展历程
俗称光学字符识别,英文全称是Optical Character Recognition(简称OCR),它是利用光学技术和计算机技术把印刷体或手写体文本进行读取识别,转化成计算机和人都能够识读的格式。此间OCR技术是关键一环。OCR技术中,印刷体的文本识别是最成熟的一个,因其开展最早。早在1929年就被欧美国家利用来处理大量的报刊杂志、文件和单据报表等。经过40多年的发展和完善,文本识别技术更加成熟,逐步实现了信息处理的“电子化”。
合合技术团队
2022/09/27
1.5K0
【独家】一文读懂文字识别(OCR)
前言 文字识别是计算机视觉研究领域的分支之一,归属于模式识别和人工智能,是计算机科学的重要组成部分 本文将以上图为主要线索,简要阐述在文字识别领域中的各个组成部分。 一 ,文字识别简介 计算机文字识别,俗称光学字符识别,英文全称是Optical Character Recognition(简称OCR),它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受、人又可以理解的格式。OCR技术是实现文字高速录入的一项关键技术。 在OCR技术中,印刷体文字识别是开展最早,技术
数据派THU
2018/01/29
24.2K1
清华出品 | 人脸识别最全知识图谱
自20世纪下半叶,计算机视觉技术逐渐地发展壮大。同时,伴随着数字图像相关的软硬件技术在人们生活中的广泛使用,数字图像已经成为当代社会信息来源的重要构成因素,各种图像处理与分析的需求和应用也不断促使该技术的革新。计算机视觉技术的应用十分广泛。数字图像检索管理、医学影像分析、智能安检、人机交互等领域都有计算机视觉技术的涉足。该技术是人工智能技术的重要组成部分,也是当今计算机科学研究的前沿领域。经过近年的不断发展,已逐步形成一套以数字信号处理技术。计算机图形图像、信息论和语义学相互结合的综合性技术,并具有较强的边缘性和学科交叉性。其中,人脸检测与识别当前图像处理、模式识别和计算机视觉内的一个热门研究课题, 也是目前生物特征识别中最受人们关注的一个分支。
数据派THU
2018/12/12
1.2K0
清华出品 | 人脸识别最全知识图谱
人脸识别技术发展及实用方案设计
人脸识别技术不但吸引了Google、Facebook、阿里、腾讯、百度等国内外互联网巨头的大量研发投入,也催生了Face++、商汤科技、Linkface、中科云从、依图等一大波明星创业公司,在视频监控、刑事侦破、互联网金融身份核验、自助通关系统等方向创造了诸多成功应用案例。本文试图梳理人脸识别技术发展,并根据作者在相关领域的实践给出一些实用方案设计,期待能对感兴趣的读者有所裨益。
两只橙
2018/04/20
2.9K2
人脸识别技术发展及实用方案设计
从图像中检测和识别表格,北航&微软提出新型数据集TableBank
TableBank 开源地址:https://github.com/doc-analysis/TableBank
机器之心
2019/04/29
2.8K0
从图像中检测和识别表格,北航&微软提出新型数据集TableBank
贝叶斯优化与结构化预测 | 大幅度提升目标检测精度
欢迎关注“ 计算机视觉研究院 ” 计算机视觉研究院专栏 作者:Edison_G 节假日在家里整理资料,发现一篇很早之前阅读过的一篇paper,主要用贝叶斯优化器和结构化预测来提升目标检测的精度,今天和大家分享下这框架,有兴趣的同学可以在这条想法上继续衍生,提出更好的新想法新框架! 扫码关注我们 公众号|计算机视觉研究院 简介|主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。 一、前言&简要 基于深度卷积神经网络的目标检测系统最近在几个目标检测基准上取得了
计算机视觉研究院
2022/04/12
5060
贝叶斯优化与结构化预测 | 大幅度提升目标检测精度
多标签图像识别发展历程(2015~2020)
自从深度学习兴起之后,以ImageNet数据集为代表的通用识别在精度上实现了跳跃式的显著提升,在通用识别性能逐渐“饱和”之后,研究者们将目光投向了难度更高的 细粒度图像识别 与 多标签图像识别 。其中细粒度识别主要针对类间相似度高、粒度细的问题,而多标签识别主要针对图像内多个共存标签有依赖性、输出标签范围广的问题,简单来说就是,细粒度识别是更精细的通用识别,而多标签识别是更广泛的通用识别。 从输出标签的数量来看,通用识别和细粒度识别都是单标签识别,然而在大多数场景下,图像中都不会只有一个孤零零的类别,只是我们在标注数据集时会故意忽略非图像主体的其他类别从而作为单标签识别问题来建模,但是随着对内容理解要求的不断提高,我们越来越需要尽可能精确的识别出图像视频中的所有类别,这时就需要用多标签识别出场了。 与通用识别和细粒度识别相比,多标签识别任务本身更关注当图像中存在多个物体、多个类别标签时,如何建模不同物体、不同标签的相关性与依赖关系,这个问题在论文中也经常被称为共现依赖(label co-occurrences),当然也有一些方法关注多标签识别任务的其他性质。
雨雪霏霏
2021/08/19
1.3K0
推荐阅读
相关推荐
常用的表格检测识别方法-表格内容识别方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验