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