JS悬浮窗口如何实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS悬浮窗口如何实现相关的知识,希望对你有一定的参考价值。

点击我圈出来的图片之后左边出现一个文字框框,出现一种叠加的感觉

参考技术A jsp中:
<body>
<div style="position: absolute;z-index:90" id="div1">我不动</div>
<div>我动<div>
</body>
//有的将position设置成fixed,我试了试效果不如position好,设置z-index,向里的深度,我这儿设置90,你要覆盖几个div,设置数大于那个数就行。
js中:
我这儿用jquery写。
$(document).ready(function()
$(window).scroll(function()//滚动时触发函数
$("#div1").css("top",$(document).scrollTop());//将滚动条高度赋给悬浮框。

)

)
导入jquery库,效果就出来了。本回答被提问者采纳
参考技术B js制作可拖动的悬浮窗的js控件示例及源码下载
http://www.xiaoyaolife.com/Article/151206.html

其实这个东西就是把代码加上就行了,你到上面的地址看一下,如果实在是不行,就下载一下他那个示例,改一下就行了,我就是在那解决的
参考技术C 17sucai.com 这个有很多!!!

JS实现悬浮移动窗口(悬浮广告)的特效

页面加载完成之后向页面插入窗口,之后向窗口插入关闭按钮,使用setInterval()函数触发moves()函数开始动画
 

js方法:

 

复制代码代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title> New Document </title>
        <meta name="Generator" content="EditPlus">
        <meta name="Author" content="">
        <meta name="Keywords" content="">
        <meta name="Description" content="">
        <script type="text/javascript">
            window.onload=function(){
                //写入
                var oneInner = document.createElement("div");
                oneInner.setAttribute("style","background:#663398;position:absolute;width:100px;height:100px;border:solid 3px #2F74A7;cursor:pointer;");
                var oneButton = document.createElement("input");
                oneButton.setAttribute("type","button");
                oneButton.setAttribute("value","x");
                if (oneButton.style.cssFloat)
                {
                    oneButton.style.cssFloat="right"
                }
                else
                {oneButton.style.styleFloat="right"}
                oneInner.appendChild(oneButton);
                document.body.appendChild(oneInner);

                //定时器
                var a1a = setInterval(moves,100);
                //函数

 

                var x = 10;
                var y = 10;

                function moves(){
                    var tops = oneInner.offsetTop
                    var lefts = oneInner.offsetLeft

                    if (lefts>=document.documentElement.clientWidth-oneInner.offsetWidth||lefts<=0)
                    {
                        x=-x
                    }

                    if (tops>=document.documentElement.clientHeight-oneInner.offsetHeight||tops<=0)
                    {
                        y=-y
                    }

                    tops+=y;
                    lefts+=x;

                    oneInner.style.top=tops+"px"
                    oneInner.style.left=lefts+"px"
                }

                //悬停停止
                oneInner.onmouseover=function(){
                    clearInterval(a1a);
                }
                //放手继续运动
                oneInner.onmouseout=function(){
                    a1a =setInterval(moves,100);
                }
                //删除
                oneButton.onclick=function(){
                    document.body.removeChild(oneInner);
                }
            }
        </script>

    </head>

    <body>


    </body>
</html>

 

jquery方法:

 

复制代码代码如下:

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="http://www.jb51.net/workspace/js/jquery-1.7.min.js"></script>
        <script>
            $(function(){
                //写入div
                $("<div/>",{id:"moveWindow"}).css({width:"200px",height:"200px",border:"solid 3px #2F74A7",background:"#663398",position:"absolute",cursor:"pointer"}).appendTo("body");
                //写入关闭按钮
                $("<div/>",{id:"removeMW"}).css({width:"20px",height:"20px",background:"red",float:"right"}).appendTo("#moveWindow");
                //定时器
                var move = setInterval(moves,100);
                var x= 10;
                var y= 10;

                function moves (){
                    var mw = $("#moveWindow").offset();
                    var lefts =mw.left;
                    var tops = mw.top;

 

                    if (lefts>=$(window).width()-$("#moveWindow").width()||lefts<=0)
                    {
                        x=-x
                    }

                    if (tops>=$(window).height()-$("#moveWindow").height()||tops<=0)
                    {
                        y=-y
                    }
                    lefts+=x;
                    tops+=y;

                    $("#moveWindow").offset({top:tops,left:lefts});

                }
                //悬停停止运动
                $("#moveWindow").mouseover(function(){
                    clearInterval(move);
                });
                //移开鼠标后继续运动
                $("#moveWindow").mouseout(function(){
                    move = setInterval(moves,100);
                });
                //点击按钮关闭
                $("#removeMW").click(function(){
                    $("#moveWindow").remove();
                });
            })
        </script>
    </head>
    <body>
    </body>
</html>

以上是关于JS悬浮窗口如何实现的主要内容,如果未能解决你的问题,请参考以下文章

WPF如何实现悬浮窗和主窗口的切换?

qt 如何实现vs那样的悬浮窗口

Android 悬浮窗口

安卓开发者进来一下,安卓悬浮窗口开发有问,悬浮的EditText为啥无法获得焦点.悬浮窗口不管我

js点击弹出悬浮表单

android 类似360悬浮窗口实现源码