JavaScript设置右下角悬浮窗

摘要:
NativeJavaScriptfunctiongooglead(){_dom=document.getElementById(“logocont”);_dom.style.position='fixed';_dom.style.left=(window.innerWidth-dom.clientWidth)+'px';

很多时候,我们需要设置一个dom节点到浏览器窗口的右下角。我们需要那个元素可以在窗口Scroll滚动或者变换大小resize的时候都可以保持浮动在那个位置。这个时候,我在网上看了看,发现很多框架什么啊,或者什么实例,看起来都弱爆了,看起来很复杂,但是直觉告诉我这个明显不是个麻烦事情,所以我自己看了看,终于知道了怎么用很少的代码来优雅的实现,下面列举用native javascript方式和jquery两种不同的实现方式吧。
相关的东西

  • 窗口定位fixed
    如果需要设置窗口浮动,设置窗口的定位为fixed最好啦,也就是css里面的position:'fixed',这个position还可以设置成absolute和relative
  • 获取窗口高度和宽度
    要对于窗口相对定位,当然需要知道窗口的宽和高啦,这个用window.innerWidth和window.innerHeight来获取。
  • 获取DOM的实际高度和宽度
    以为定位的时候要考虑到dom元素的占位,所以要获取dom的宽和高的数值。

Native JavaScript

function googlead(){
    _dom = document.getElementById("logocont");
    if(_dom == undefined) return;
    _dom.style.position='fixed';
    _dom.style.left = (window.innerWidth-_dom.clientWidth)+'px';
    _dom.style.top = (window.innerHeight-_dom.clientHeight)+'px';
    _dom.style.display='block';
}
(function(){
    window.onscroll=googlead;
    window.resize=googlead;
    googlead();
})();

  

jQuery方式

function googlead(){
    _dom = $("#site_nav_top");
    if(_dom == undefined) return;
    _dom.css('position','fixed');
    _dom.css({left:(window.innerWidth-_dom.width())+'px',top:(window.innerHeight-_dom.height())+'px',display:'block'});
    console.log(_dom.position());
}
(function(){
    window.onscroll=googlead;
    window.resize=googlead;
    googlead();
})();

  

可以看出来,jQuery并没有在这里显示出什么优越性来,所以还是native比较好用:)

如果你觉得写得不错,请捐赠作者:

作者:

免责声明:文章转载自《JavaScript设置右下角悬浮窗》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mysql表切换引擎的几种方法autojs相关的文档地址记录和简单使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python之(25)中级总结(3)关系型数据库(mysql和oracle使用)

1、Python MySQL - mysql-connector 驱动 1、安装mysql驱动 python -m pip install mysql-connector 2、测试驱动 import mysql.connector 3、代码实现 1、基本操作 import mysql.connector conn=mysql.connector.conne...

Python学习之JSON格式的序列化和反序列化

查看json库的方法 import json print("JSON库的主要方法:",json.__all__) ###JSON库的主要方法: ['dump', 'dumps', 'load', 'loads', 'JSONDecoder', 'JSONDecodeError', 'JSONEncoder']dump和dumps的区别 dump是将对象...

神秘的 shadow-dom 浅析

说到 shadow-dom 可能很多人会很陌生。但是其实我们肯定碰到过,本文主要想简单介绍下shadow-dom。下面直接进入正文。 shadow-dom 是什么 顾名思义,shadow-dom,直译的话就是影子dom?我觉得可以理解为潜藏在黑暗中的 DOM 结构,也就是我们无法直接控制操纵的 DOM 结构。前端同学经常用开发者工具的话,查看 DOM...

python 发邮件脚本

相关模块介绍     发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍:    1、smtplib模块       smtplib.SMTP([host[, port[, local_hostname[, timeout]]]])    SMTP类构造函数,表示与SMTP服务器之间的连接,通过这个连接可以向smtp...

My97日历控件常用功能记录

My97相信大家都不陌生,应该是我所见过的最强大的一个日历控件了,最近的项目中也比较多地用到了此控件,而且项目中经常会有不同时间范围的需求,在此列出一些比较常用的日期范围格式的设置,尽管在My97的官方文档中有很详细的介绍,正是因为很详细所以查找起来不是很方便。 1 可以选择任何日期 <input id="txtDate" class="Wdate"...

TP6 学习-路由操作

ThinkPHP-路由 by:Mirror王宇阳 Thinkphp的路由的主要作用是为了让URL地址更加美观、简洁、优雅……;设置路由对URL的检测、验证等操作提供了极大的便利性;路由功能是默认开启的config/app.php文件中设置: 'with_route' => true; 路由配置文件:config/route.php 路由定义文件:...