码迷,mamicode.com
首页 > 其他好文 > 详细

对于冒泡法的一些看法

时间:2016-05-09 20:29:45      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

      冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

      冒泡排序算法的运作如下:

?1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3.针对所有的元素重复以上的步骤,除了最后一个。

4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

<html>
<head>
        <title>
        </title>
        <style>
        </style>
</head>
<body>
<input type="button" name="one" value="点我" />
<div style="width:100px;height:100px;background:red;">
        
        <img src="1.jpg" width="50px" height="50px"/><input type="submit" name="two" value="取消冒泡"/>
</div>

<input type="text" name="flag" value="还没有" />
<input type="text" name="text" />
<a href="extends.html">dasf</a>
<script>
        window.onload = function(){
                //alert("windowonloaded!");
                var img = document.getElementsByTagName("img")[0];
                var input = document.getElementsByTagName("input")[2];
                var div = document.getElementsByTagName("div")[0];
                //alert(div);
                var hand = function(event){
                
                        switch(event.type){
                                case "mouseover":input.value = "onmouseover";break;
                                case "mouseout":input.value = "onmouseout";break;
                                case "mouseenter":input.value = "onmouseenter";break;
                                case "mouseleave":input.value = "onmouseleave";break;
                                case "dbclick" :input.value = "dbclick";break;
                                case "mousedown":input.value = "mousedown"+event.button+event.detail;break;
                                case "mouseup":input.value="mouseup";break;
                                case "click":input.value="click";break;
                                //case "mouse"
                        }
                }
                div.onmouseover = hand;
                div.onmouseout = hand;
                div.onmouseenter = hand;//当重父节点移动到子节点时,重触发事件到不促发事件;
                div.onmouseleave = hand;
                div.onmousedown = hand;
                div.onmouseup = hand;
                
                div.onclick = hand;
                 
        }
        var showcount = 0;
        window.onpageshow=function(){
                alert(showcount++);
        }
        var btn1 = document.getElementsByTagName("input")["one"];
        var handler = function(){
                alert(window.event.srcElement == event.target);//为true,现在ie浏览器已经兼容event了
        };
        //btn1.onclick = handler;
        btn1.addEventListener("click",handler,false);
        //btn1.attachEvent("onclick",handler);//IE9一下支持
        btn1.addEventListener("click",function(){
                alert("lixian");
        },false);
        btn1.removeEventListener("click",handler,false);
        
        
        
        //
        var bubble = document.getElementsByTagName("input")["two"];
        bubble.onclick = function(){
                alert("不返回div的onclick事件!");
                event.stopPropagation();//非常重要
                
        };
        bubble.parentNode.onclick = function(){
                //alert("我被取消了!");
        };
        
        //鼠标滚动事件
        var div = document.getElementsByTagName("div")[0];
        div.onmousewheel = function(){
                alert(event.wheelDelta);
        }
        div.addEventListener("DOMMouseScroll",function(){//火狐使用
                alert(event.detail);
        },true);
        document.body.addEventListener("DOMMouseScroll", function(event) {
    console.dir(event);        
});
        window.onkeydown = function(event){
                //alert(event.keyCode+","+event.charCode+","+event.key+","+event.char+","+event.location+","+event.getModifierState("Shift"));
                
        }
        alert(document.getElementsByTagName("input")[1]);
        document.addEventListener("DOMContentLoaded",function(event){
                alert("have loaded!");
                document.onreadystatechange=function(event){
                if(event.readyState=="interactive"||event.readyState=="complete")alert("aaa");
                else alert(event.readyState);
                //alert(event.data);
        };
                //alert(event.data);
        },false);
        
        document.oncontextmenu = function(event){
                event.preventDefault();
                //alert("aaa");
        }

        if(document.implementation.hasFeature("CustomEvent","3.0"))alert("success!");
</script>
</body>
</html>

对于冒泡法的一些看法

标签:

原文地址:http://www.cnblogs.com/lzm14/p/5475098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!