zoukankan      html  css  js  c++  java
  • 原生的几个javascript常用特效

    1 仿网上表格特效:鼠标经过的行高亮显示源码:

    <html >

    <head>

        <title>鼠标经过的行高亮显示</title>

        <!--实现原理:鼠标经过当前行改变其背景颜色,除此之外 还可以有很多扩展-->

        <script type="text/javascript">

            function trinitEvent() {

                var trs = document.getElementsByTagName("tr");

                for (var i = 0; i < trs.length; i++) {

                    var tr = trs[i];

                    tr.onmouseover =  function() {      

                      this.style.background = "red";

                  }

                  tr.onmouseout = function () {

                      this.style.background = "white";

                  }

                    tr.style.cursor = "pointer";

                }

            }

           

        </script>

    </head>

    <body onload="trinitEvent()">

    <table id="tbColor">

    <tr><td>好地方很多很多很多很多</td></tr>

    <tr><td>好地方很多很多很多很多</td></tr>

    <tr><td>好地方很多很多很多很多</td></tr>

    <tr><td>好地方很多很多很多很多</td></tr>

    <tr><td>好地方很多很多很多很多</td></tr>

    <tr><td>好地方很多很多很多很多</td></tr>

    </table>

    </body>

    </html>

     

    2 表格的隔行换色

    <html >

    <head>

        <title>表格的隔行换色</title>

        <script type="text/javascript">

            function setLineColor() {

                var tbColor = document.getElementById("tbColor");

                var trs = tbColor.getElementsByTagName("tr");

                for (var i = 0; i <trs.length; i++) {

                   

                    if (i % 2 == 0) {

                        var tr = trs[i];

                        tr.style.background = "red";

                    }

                  

                }

            }

        </script>

    </head>

    <body onload="setLineColor()">

    <table id="tbColor">

    <tr><td>哈哈啊哈</td></tr>

    <tr><td>哈哟</td></tr>

    <tr><td>哈你</td></tr><tr><td>哈我为</td></tr>

    </table>

    </body>

    </html>

     

    3 超链接提示(鼠标移入超链接时动态加载层给予一些详细的提示,当然原生的html+css也能达到效果)

    <html >

    <head>

        <title>超链接提示</title>

        <style type="text/css">

            .toolTip

            {

                80px;

                height:80px;

                background:blue;

                border:1px solid green;

                }

        </style>

        <script type="text/javascript">

            function decrarionA() {

                var as = document.getElementsByTagName("a");

                for (var i = 0; i < as.length; i++) {

                    var a = as[i];

                    a.onmouseover = function () {

                        var div = document.createElement("div");

                        div.className = "toolTip";

                        div.innerText = "超炫的提示信息哟!!";

                        div.style.position = "absolute";

                        div.style.left = window.event.clientX + "px";

                        div.style.top = window.event.clientY + "px";

                        document.body.appendChild(div);

                    }

                    a.onmouseout = function () {

                        var divs = document.getElementsByTagName("div");

                        for (var i = 0; i < divs.length; i++) {

                            var div = divs[i];

                            if (div.className == "toolTip") {

                                document.body.removeChild(div);

                            }

                        }

                    }

                }

            }

        </script>

    </head>

    <body onload="decrarionA() ">

    <a href="#">百度</a>

    <a href="#">百度</a>

    <a href="#">百度</a>

    <a href="#">百度</a>

    </body>

    </html>

     

    4. 超链接效果:被点击的链接高亮显示

    <html >

    <head>

        <title>超链接效果:被点击的链接高亮显示</title>

       <script type="text/javascript">

           function searchA() {

               var linkAs = document.getElementsByTagName("a");

               for (var i = 0; i < linkAs.length; i++) {

                   var linkA = linkAs[i];

                   linkA.onclick = aClick;

               }

           }

           function aClick() {

            var linkAs = document.getElementsByTagName("a");

            for (var i = 0; i < linkAs.length; i++) {

                var linkA = linkAs[i];

                if (linkA == this) {

                    this.style.background = "red";

                }

                else {

                    linkA.style.background = "white";

                }

            }

           }

       </script>

    </head>

    <body onload="searchA()">

    <a href="#">百度</a>

    <a href="#">百度</a>

    <a href="#">百度</a>

    <a href="#">百度</a>

    <a href="#">百度</a>

    <a href="#">百度</a>

    </body>

    </html>

     

    5 用户登录提示框

    <html >

    <head>

        <title>用户登录提示框</title>

        <!--点击登录的时候提示登录div,取消的时候消失-->

        <style type="text/css">

            #login

            {

                400px;

                height:300px;

                background:gray;

                border:10px solid yellow;

              

                position:absolute;

                top:200px;

                left:450px;

                text-align:center;

                line-height:100px;

                }

        </style>

        <script type="text/javascript">

            function showLogin() {

                var login = document.getElementById("login");

                login.style.display = "";

            }

            function hideLogin() {

                var login = document.getElementById("login");

                login.style.display = "none";

            }

        </script>

    </head>

    <body>

    <input type="button" value="登录" onclick="showLogin()"/>

    <div id="login" style="display:none">

    用户名:<input type="text" /><br />

    &nbsp;&nbsp;&nbsp;&nbsp;密码:<input type="text" /><br />

    <input type="button" value="登录" />

    <input type="button" value="取消" onclick="hideLogin()" />

    </div>

    </body>

    </html>

     

    6、点击按钮层的高度自动增加

    <html >

    <head>

        <title>点击按钮层的高度自动增加</title>

        <script type="text/javascript">

            function addHeigth() {

                var dv = document.getElementById("dHeight");

                var oldHeight = dv.style.height;

                oldHeight = parseInt(oldHeight, 10);

                oldHeight += 10;

                oldHeight = oldHeight + "px";

                dv.style.height = oldHeight;

            }

        </script>

    </head>

    <body>

    <div id="dHeight" style="border:1px solid blue;200px;height:200px">哈哈哈O(∩_∩)O哈~</div>

    <input type="button" value="高度加十" onclick=" addHeigth()"/>

    </body>

    </html>

     

    7、依据数据动态加载表格

    <html >

    <head>

        <title>依据数据动态加载表格</title>

        <script type="text/javascript">

            function createTable() {

                var tbData = document.getElementById("tbData");

                var data = { "百度": "http://www.baidu.com", "搜狐": "http://www.baidu.com", "Q": "http://www.baidu.com" };

                for (var key in data) {

                    var value = data[key];

                    var tr = document.createElement("tr");

                    td1 = document.createElement("td");

                    td2 = document.createElement("td");

                    td1.innerText = key;

                    tr.appendChild(td1);

                    

                    td2.innerHTML = "<a href='" + value + "'>" + value + "</a>"; ;

                    tr.appendChild(td2);

                    tbData.appendChild(tr);

                }

               

            }

     

     

        </script>

    </head>

    <body>

    <table id="tbData"></table>

    <input type="button" value="创建一个表格" onclick="createTable()" />

    </body>

    </html>

     

    8、歌曲选择器

    <html >

    <head>

        <title>歌曲选择器</title>

        <style type="text/css">

            #musicSel

            {

                200px;

                height:auto;

                border:2px solid blue;

                text-align:left;

                }

        </style>

        <script type="text/javascript">

            var data = ["那一夜", "月亮之上", "天使的翅膀", "月光洲"];

            function loadMusic() {//加载歌曲信息

                var musicSel = document.getElementById("musicSel");

                for (var i = 0; i < data.length; i++) {

                    var input = document.createElement("input");

                    var label = document.createElement("label");//给input增加label属性这样当点击input外侧的文本就可以选中该checkbox

                    var br = document.createElement("br");//每次加载完一首歌曲就换行

                    input.type = "checkbox";

                    input.value = data[i];

     

                    var mcId = input.id = "mc" + i;//设定checkbox的ID

                    label.innerText = data[i];

                    label.setAttribute("for", mcId); //无法定义label的for属性,采用setAttribute预定义for属性

                    musicSel.appendChild(input);

                    musicSel.appendChild(label);

                    musicSel.appendChild(br);

                }

            }

     

     

     

            //因为火狐浏览器不支持inerText属性所以需要解决一下,firefox改成了contentText属性,需要用Javascript重新定义innerText属性 ,使得在Firefox中也可以使用innerText属性

            function isIE() { //判断是否是ie

                if (window.navigator.userAgent.toLowerCase().indexOf("msie") >= 1)

                    return true;

                else

                    return false;

            }

     

            if (!isIE()) { //firefox下Javascript重新定义innerText属性

                HTMLElement.prototype.__defineGetter__("innerText",

            function () {

                var anyString = "";

                var childS = this.childNodes;

                for (var i = 0; i < childS.length; i++) {

                    if (childS[i].nodeType == 1)

                        anyString += childS[i].tagName == "BR" ? '\n' : childS[i].innerText;

                    else if (childS[i].nodeType == 3)

                        anyString += childS[i].nodeValue;

                }

                return anyString;

            }

           );

                HTMLElement.prototype.__defineSetter__("innerText",

            function (sText) {

                this.textContent = sText;

            }

           );

        }

     

        //业务逻辑的实现

        function selectionAll() {//全选

            var musicSel = document.getElementById("musicSel");

            var inputs = musicSel.getElementsByTagName("input");    

                for (var i = 0; i < inputs.length; i++) {

                    var input = inputs[i];

                    if (input.type == "checkbox") {

                        input.checked = "checked";

                    }

                }

            }

            function CancelSelectioned() {//取消选定

                var musicSel = document.getElementById("musicSel");

                var inputs = musicSel.getElementsByTagName("input");

                for (var i = 0; i < inputs.length; i++) {

                    var input = inputs[i];

                    if (input.type == "checkbox") {

                        input.checked = "";

                    }

                }

            }

     

            function ReverseSelectioned() {//反选

                var musicSel = document.getElementById("musicSel");

                var inputs = musicSel.getElementsByTagName("input");

                for (var i = 0; i < inputs.length; i++) {

                    var input = inputs[i];

                    if (input.type == "checkbox") {

                        input.checked =!input.checked;

                    }

                }

            }

     

        </script>

     

    </head>

    <body onload="loadMusic()">

    <div id="musicSel">

     

    </div>

    <input type="button" value="全选" onclick="selectionAll()" />

    <input type="button"   onclick="CancelSelectioned()" value="取消选定" />

    <input type="button"   value="反选" onclick="ReverseSelectioned()" />

    </body>

    </html>

       

                       

    9、规定时间后方可注册

    <html >

    <head>

        <title>规定时间后方可注册</title>

        <script type="text/javascript">

            var secounds = 10;

            var intervalId;

            function Count() {

                var btn = document.getElementById("btn");

                if (btn) {

                    if (secounds <= 0) {

                        btn.value = "注册";

                        btn.disabled = false;

                        clearInterval(intervalId);

                    }

                    else {

                        btn.value = "请仔细阅读协议还剩" + secounds + "秒";

                        secounds--;

                    }

                }

            }

            setInterval("Count()",1000);

        </script>

    </head>

    <body>

    <input type="button" id="btn" disabled="disabled" />

    </body>

    </html>

     

    10、获得焦点的文本框背景为红色(可根据需求扩展)

    <html >

    <head>

        <title>获得焦点的文本框背景为红色</title>

       <script type="text/javascript">

           function initEvent() {

               var inputs = document.getElementsByTagName("input");

               for (var i = 0; i < inputs.length; i++) {

                   var input = inputs[i];

                   if (input.type == "text") {

                       input.onfocus = function () {

                           this.style.background = "red";

                       }

                       input.onblur = function () {

                           this.style.background = "white";

                       }

                   }

               }

           }

       </script>

    </head>

    <body onload="initEvent() ">

    <input type="text" />

    <input type="text" />

    <input type="text" />

    <input type="text" />

    </body>

    </html>

     

    11、隐藏高级选项

    <html >

    <head>

        <title>隐藏高级选项</title>

        <style type="text/css">

            #showDiv

            {

                200px;

                height:200px;

                font-size:18px;

                background:blue;

                border:2px solid red;

               

            }

          

        </style>

        <script type="text/javascript">

            function showMes(ck) {

                var ckd = document.getElementById("ckd");

                var showDiv = document.getElementById("showDiv");

                if (ck.checked) {

                    showDiv.style.display = '';

                }

                else {

                    showDiv.style.display = 'none';

                }

            }

        </script>

    </head>

    <body>

    <input type="checkbox" id="ckd" onclick="showMes(this)"/><label for="ckd">显示高级选项</label>

    <div id="showDiv" style="display:none">这里有很多特殊的文字哟</div>

    </body>

    </html>

     

    12、每分钟换一张美女时钟

    <html >

    <head>

        <title>每一分钟换一张美女时钟</title>

        <script type="text/javascript">

            function getTenNumber(number) {

                if (number < 10) {

                    return "0" + number;

                }

                else {

                    return number;

                }

            }

     

            function setTimeMM() {

                var imgMM = document.getElementById("imgMM");

                if (imgMM) {

                    var now = new Date();

     

                    var filePath = getTenNumber(now.getHours()) + "_" + getTenNumber(now.getMinutes()) + ".jpg";

                   

             

                    imgMM.src = "mm/"+filePath;

                }

     

            }

            setInterval("setTimeMM()", 60000);

        </script>

    </head>

    <body onload="setTimeMM()">

    <img src="" id="imgMM"/>

    </body>

    </html>

     

    13、评分控件的开发

    <html>

    <head>

        <title>评分控件的开发</title>

        <script type="text/javascript">

            var secore;

            function indexOf(arr, element) {//获取当前元素在数组中的下标

                for (var i = 0; i < arr.length; i++) {

                    if (arr[i] == element) {

                        return i;

                    }

                }

                return -1;

            }

     

            function setScore() {//设置评分规则

                var tbScore = document.getElementById("tbScore");

                var secore = document.getElementById("secore");

                var tds = tbScore.getElementsByTagName("td");

                var index = indexOf(tds, this);

                secore = index;

                for (var i = 0; i <= index; i++) {

                    var td = tds[i];

                    td.style.background = "red";

                }

               

                for (var i = index+1; i <tds.length; i++) {

                    var td = tds[i];

                    td.style.background = "white";

                }

               

            }

           

            function initEvent() {//评分加载

                var tbScore = document.getElementById("tbScore");

                var tr = tbScore.getElementsByTagName("tr");

                var tds = tbScore.getElementsByTagName("td");

                for (var i = 0; i < tds.length; i++) {

                    var td = tds[i];

                    td.onmouseover = setScore;

                    td.style.cursor = "pointer";

                }

            }

        </script>

    </head>

    <body onload="initEvent()">

    <table id="tbScore">

    <tr>

    <td>☆</td><td>☆</td><td>☆</td><td>☆</td><td>☆</td>

    </tr>

     

    </table>

    </body>

    </html>

     

    14、省市选择器

    <html >

    <head>

        <title>省市选择器:如果市的value为none则隐藏该select</title>

        <script type="text/javascript">

            var data = { "江西": ["南昌", "宜春"], "山东": ["济南", "青岛"], "河南": ["郑州", "洛阳"] };

            //加载省的信息

            function loadProv() {

                var prov = document.getElementById("prov");

                for (var key in data) {

                    var option = document.createElement("option");

                    var city = document.getElementById("city");

                    option.value = key;

                    option.innerText = key;

                    prov.appendChild(option);

                }

            }

            //当选择的省发生变化时候加载对应的市

            function selectChange_Prov() {

                var prov = document.getElementById("prov");

                var city = document.getElementById("city");

                for (var i = city.childNodes.length - 1; i >= 0; i--) {

                    city.removeChild(city.childNodes[i]);

                }

                if (prov.value == "none") {

                    city.style.display = "none";

                    return;

                }

                city.style.display = "";

                var citys = data[prov.value];

                for (var i = 0; i < citys.length; i++) {

                    var option = document.createElement("option");

                    option.value = citys[i];

                    option.innerText = citys[i];

                    city.appendChild(option);

                }

            }

        </script>

    </head>

    <body onload="loadProv() ">

    <select id="prov" onchange="selectChange_Prov() ">

    <option value="none">--请选择省--</option>

    </select>

    <select id="city" style="display:none"></select>

    </body>

    </html>

    15、鼠标经过时控件其value值发生变化

    <html>

    <head>

        <title>鼠标经过时控件其value值发生变化</title>

       <!-- 实现思路:设定二个函数:inputMouseover()用于设置按钮的事件所指向的函数(当然也可设置成一个匿名函数实现)、inputOver()用于按钮事件具体的行为-->

     

        <!--此列可以扩展成鼠标进过时按钮的相关的html元素改变比如;背景图片、背景颜色等以及Tag导航中当前访问的Tag高亮显示-->

        <script type="text/javascript">

            function inputMouseover() {

                var inputs = document.getElementsByTagName("input");

                for (var i = 0; i < inputs.length; i++) {

                    var input = inputs[i];

                    input.onmouseover = inputOver;

                   // input.onmouseout = inoutOut;

                }

             }

     

            

             function inputOver() {

                 var inputs = document.getElementsByTagName("input");

                 for (var i = 0; i < inputs.length; i++) {

                     var input = inputs[i];

                     if (input == window.event.srcElement) {

    //                     window.event.srcElement:获取引发事件的控件

                         input.value = "重置";

                     }

                     else {

                         input.value = "哟哟";

                     }

                 }

             }

             /*用于扩展

             function inoutOut() {

              var inputs = document.getElementsByTagName("input");

     

              for (var i = 0; i < inputs.length; i++) {

                  var input = inputs[i];

                  input.value = "哟哟";

              }

             }

             */

        </script>

    </head>

    <body onload="inputMouseover()">

     

    <input type="button" value="哟哟"  />

    <input type="button" value="哟哟"  />

    <input type="button" value="哟哟"  />

    <input type="button" value="哟哟"  />

    </body>

    </html>

     

     

    16、追随鼠标飞的图片

    <html >

    <head>

        <title>追随鼠标飞的图片</title>

        <script type="text/javascript">

            document.onmousemove = function () {

                var x = window.event.clientX;

                var y = window.event.clientY;

                var flyImg = document.getElementById("flyImg");

                if (flyImg) {

                    flyImg.style.left = x + "px";

                    flyImg.style.top = y + "px";

                }

            }

        </script>

    </head>

    <body>

    <div id="flyImg" style="position:absolute"><img src="mm/05_49.jpg"></div>

    </body>

    </html>

    选一种姿态活的无可取代
  • 相关阅读:
    Multi-level CSS3 UL_LI Dropdown Menu
    10个优秀的 HTML5 & CSS3 下拉菜单制作教程
    MVC中@Html.Action的用法(类似自定义控件)
    ASP.NET MVC---自定义HtmlHelper方法
    FormsAuthentication登录ReturnUrl使用绝对路径
    asp.net mvc 身份验证中返回绝对路径的ReturnUrl
    asp.net 2.0 下的表单验证Cookieless属性
    IHttpModule在webconfig中的注册
    中国象棋棋谱浏览器
    刘永富-微信助手
  • 原文地址:https://www.cnblogs.com/aolinwxfx/p/2575378.html
Copyright © 2011-2022 走看看