zoukankan      html  css  js  c++  java
  • 前台特效(4) 悬浮移动窗口(悬浮广告)

    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://common.cnblogs.com/script/jquery.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>

    基本思路:

    1.页面加载完成之后向页面插入窗口,之后向窗口插入关闭按钮

    2.使用setInterval()函数触发moves()函数开始动画

    3.moves函数:首先获取当前窗口位置,之后随时间使窗口位移,每当位移到游览器边缘时反向运动

    4.添加其他事件:鼠标悬停停止运动,鼠标离开继续运动,点击按钮关闭窗口

    ps:不建议使用这个特效,影响用户体验

    希望对你有所帮助!^_^!~~

  • 相关阅读:
    Tomcat
    DOM/SAX/PULL解析XML
    Android网络编程 知识框架
    Chapter 10 Networking/JSON Services
    Chapter 10 Networking/Web Service Using HTTP
    Android-Universal-Image-Loader
    8.Media and Camera/Media Camera
    PAT乙级1007.素数对猜想(20)
    筛法求素数详解
    PAT乙级1006.换个格式输出整数(15)
  • 原文地址:https://www.cnblogs.com/longdidi/p/2954537.html
Copyright © 2011-2022 走看看