zoukankan      html  css  js  c++  java
  • 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;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({"200px",height:"200px",border:"solid 3px #2F74A7",background:"#663398",position:"absolute",cursor:"pointer"}).appendTo("body");
                    //写入关闭按钮
                    $("<div/>",{id:"removeMW"}).css({"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>

  • 相关阅读:
    JAVA学习第五十四课 — IO流(八)打印流 &amp; 序列流
    jdbc框架 commons-dbutils+google guice+servlet 实现一个例子
    java ThreadLocal 理解
    jdbc框架 commons-dbutils的使用
    Java 集合系列06之 Vector详细介绍(源码解析)和使用示例
    Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例
    Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)
    Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
    Java 集合系列02之 Collection架构
    Java 集合系列01之 总体框架
  • 原文地址:https://www.cnblogs.com/dingjiaoyang/p/5910223.html
Copyright © 2011-2022 走看看