`

Js浮动页面顶部或鼠标点击处弹出提示层

 
阅读更多

QQ邮箱在删除邮件时,那个浮动提示层很方便。

为此,我写了一个鼠标移动时修改坐标,这样随时可以弹出该位置的提示层的方法。

改进了一下,如果刚打开页面也要浮动提示,这时候也需要坐标,鼠标位置坐标按照顶层坐标给。

如下:

var globalObj = {
    timer: {},
    mouse_pos: {
        x: 0,
        y: 0
    },
    top_pos: {
        x: 0,
        y: 0
    },
    getMousePosition: function(ev) {
        ev = ev || window.event;
        if (ev.pageX || ev.pageY) {
            return {
                x: ev.pageX,
                y: ev.pageY
            };
        }
        if (!ev.clientX) return this.getTopPosition();
        return {
            x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
            y: ev.clientY + document.body.scrollTop - document.body.clientTop
        };
    },
    getTopPosition: function() {
        return {
            x: document.body.scrollLeft + document.body.clientWidth / 2,
            y: document.body.scrollTop - document.body.clientTop
        };
    },
    GetPoint: function(ev) {
        var p = this.getMousePosition(ev);
        this.mouse_pos.x = p.x;
        this.mouse_pos.y = p.y;
        p = this.getTopPosition();
        this.top_pos.x = p.x;
        this.top_pos.y = p.y;
    },
    showHtmlTipAboveMouse: function(html_tip, time, id) {
        var pos = {
            x: this.mouse_pos.x,
            y: this.mouse_pos.y - 30
        };
        if (pos.y < 0) pos.y = 0;
        if (pos.x < 0) pos.x = 0;
        if (!id) id = 'showHtmlTipAboveMouse';
        this.showHtmlTip(html_tip, pos, time, id);
    },
    showHtmlTipOnTop: function(html_tip, time, id) {
        var pos = {
            x: this.top_pos.x,
            y: this.top_pos.y
        };
        if (!id) id = 'showHtmlTipOnTop';
        this.showHtmlTip(html_tip, pos, time, id);
    },
    showHtmlTip: function(html_tip, pos, time, id) {
        if (!id) id = 'showHtmlTip';
        $('#' + id).remove();
        if (!time) time = 1;
        else time = parseInt(time);
        var dom = $('<div id="'+id+'"></div>').html(html_tip).css({
            'height': '20px',
            'line-height': '20px',
            'font-size': '12px',
            'padding': '2px 10px',
            'border': 'solid 1px #A8FF24',
            'position': 'absolute',
            'background': '#00A600',
            'margin': '0px',
            'display': 'none',
            'color': '#fff',
            'opacity': '1.0'
        });

        $('body').append(dom);
        var left = pos.x - dom.width() / 2;
        var top = pos.y;
        dom.css({
            display: '',
            top: top + 'px',
            left: left + 'px'
        });
        if (this.timer[id]) {
            clearTimeout(this.timer[id]);
            this.timer[id] = null;
        }
        this.timer[id] = setTimeout(function() {
            dom.fadeOut();
        }, (time * 1000));
    }
}


$(function() {
    globalObj.GetPoint();
    globalObj.showHtmlTipAboveMouse('Mouse浮动提示层---------------------------------------------');
    globalObj.showHtmlTipOnTop('Top浮动提示层');
    $(document).mousemove(function(ev) {
        setTimeout(function() {
            globalObj.GetPoint(ev);
        }, 200);
    });
    $('#main_div').click(function() {
        globalObj.showHtmlTipAboveMouse('Mouse浮动提示层');
        globalObj.showHtmlTipOnTop('Top浮动提示层');
    });
});

 附件中就是代码。

需要jquey的支持。

分享到:
评论

相关推荐

    jquery弹出层鼠标点击弹出层可浮动在屏幕滚动

    本文将深入探讨如何使用jQuery实现一个弹出层(popup)功能,使得弹出层在用户鼠标点击后能随屏幕滚动而保持浮动。 首先,我们需要理解jQuery弹出层的基本原理。弹出层通常是一个在页面上覆盖一层半透明背景,并...

    跟随页面移动鼠标可拖拽的浮动层

    它通常是独立于页面其他内容的,可以是固定的顶部导航、侧边栏菜单或者弹出的对话框。浮动层的设计旨在提高用户体验,让重要的信息或功能始终触手可及。 2. **跟随页面(Follow the Page)**:跟随页面是指浮动层在...

    jQuery鼠标滚动条到页面底部浮动层滑动弹出信息

    本文将深入探讨如何使用jQuery来实现“鼠标滚动条到页面底部时浮动层滑动弹出信息”的功能。 首先,我们需要理解jQuery的基本用法。jQuery是一个JavaScript库,它简化了DOM操作、事件处理、动画和Ajax交互。在HTML...

    JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解

    根据给定文件内容,以下是关于如何使用JavaScript实现一个支持鼠标拖动和关闭功能的弹出浮动窗口的知识点。 首先,创建一个弹出浮动窗口(也称为弹出式对话框)涉及到的核心技术是JavaScript动态创建对话框。这一...

    Bootstrap顶部浮动导航菜单页面滚动显示隐藏.zip

    在本项目中,我们关注的是"Bootstrap顶部浮动导航菜单页面滚动显示隐藏"这一功能。这个功能通常用于创建响应式的网页,使得在页面滚动时,导航栏能够智能地根据用户的滚动行为进行显示或隐藏。 在`index-bs3.html`...

    js弹出可移动可关闭浮动窗口并灰化背景

    在JavaScript(简称JS)编程中,创建一个可移动、可关闭且带有灰化背景的浮动窗口是一项常见的需求,尤其在用户交互和提示信息显示时。这个功能可以使用户聚焦于特定的对话框,同时防止他们在处理关键操作时被其他...

    顶部下拉浮动菜单导航

    尽管CSS可以实现静态的下拉效果,但为了实现动态交互,如点击或鼠标悬停时的下拉,通常会用到JavaScript。在提供的`js`文件中,可能包含以下功能: 1. 监听事件(如`mouseover`和`mouseout`),在用户鼠标移入或移出...

    弹出DIV层窗口(javascript脚本代码)

    在网页设计中,弹出层是一种常见的交互元素,用于显示警告、提示、表单或更多详细信息,而无需跳转页面。在给定的标题和描述中提到的"弹出DIV层窗口"是指使用HTML、CSS和JavaScript实现的浮动窗口效果。这种技术常...

    js 弹出窗口

    在JavaScript(JS)中,创建弹出窗口是一种常见的交互设计,可以用来显示额外的信息或执行特定功能。在给定的标题“js 弹出窗口”和描述中,我们可以看到几个关键点:弹出窗口的加载、遮罩效果、拖动功能、自动关闭...

    jQuery鼠标点击页面随机闪现文字特效

    通过这样的结合,当用户点击页面时,将随机出现一个带有上浮动画的文字。 总之,这个jQuery特效利用了事件处理、随机数生成、动画和CSS样式来实现一个富有交互性的功能。这种技术在网页设计中非常常见,可以为网站...

    鼠标移动到div上显示制定信息或者div(自适应显示位置)

    在网页设计中,有时我们需要实现一个功能:当用户将鼠标悬停在某个div元素上时,显示特定的信息或另一个div。这个功能可以增强用户体验,帮助用户更好地理解和操作页面。本教程将详细介绍如何实现这一功能,并确保...

    ymprompt消息提示组件4.0【js插件弹出框美化版】

    页面的js中通过ymPrompt.setDefaultCfg(cfg)方法修改组件部分或全部的默认属性。 如:ymPrompt.setDefaultCfg({maskAlpha:0.2,maskAlphaColor:'#00f'}) 组件的默认配置(对于没有设定的项将采用该配置项的默认值...

    jQuery右击logo弹出浮动窗口.zip

    在本示例中,我们关注的是一个使用jQuery库来实现的特定交互效果——"jQuery右击logo弹出浮动窗口"。这个效果允许用户在右键点击网站logo时,弹出一个浮动窗口,通常用于显示注册或登录选项。下面将详细讨论实现这一...

    回到网页顶部JS代码.zip

    标题中的“回到网页顶部JS代码”指的是一个JavaScript功能,它允许用户在浏览长网页时,通过点击一个按钮或执行其他交互操作快速返回页面的顶部。这个功能尤其有用,因为长页面可能需要用户滚动很多次才能回到顶部,...

    jQuery浮动菜单实现

    在网页设计中,浮动菜单是一种常见的交互元素,它通常位于页面的一侧或顶部,随着用户滚动页面而始终保持可见。jQuery库提供了一种简单且高效的方式来实现这种效果。本篇文章将详细探讨如何使用jQuery来实现一个浮动...

    用JS实现多样化的超链接提示效果

    JS可以通过`fetch` API获取远程数据,然后在弹出的模态窗口或浮动框中展示: ```javascript // 为链接添加点击事件监听器 link.addEventListener('click', function(event) { event.preventDefault(); // 阻止默认...

    jQ带返回顶部右侧悬浮客服.zip

    悬浮客服应有明显的提示,如鼠标悬停时的提示文本或改变图标状态,返回顶部按钮也可以有渐显渐隐的效果,增加视觉吸引力。 总的来说,《jQ带返回顶部右侧悬浮客服》是一个集便捷性与实用性于一体的网页组件,通过...

    网页上的浮动广告

    1. 固定位置浮动广告:这类广告固定在页面的顶部、底部或侧边,无论用户滚动页面,它们始终可见。 2. 飘移广告:这种广告会沿着页面的某一轴线(通常是垂直)移动,吸引用户的注意力。 3. 悬停广告:当用户将鼠标...

    非常漂亮的QQ在线客服浮动代码

    3. **添加交互逻辑**:在JavaScript文件中,你需要监听用户的鼠标事件,当用户点击浮动元素时,触发一个弹出对话框的动作,或者直接跳转到QQ聊天界面。这可能涉及到对`onclick`事件的处理。 4. **对接QQ接口**:...

Global site tag (gtag.js) - Google Analytics