11
作者:la5u4ever 日期:2008-10-15
<img src="zh/photo/t.jpg" alt="aaa" onload="resize(this)" /><img onload="resize(this)" src="zh/photo/1.jpg" alt="aaa" />
<script language="Javascript" type="text/javascript">
function resize(img,thumbs_size) {
var fixwidth ;
var fixheight ;
if (thumbs_size='undefined')//设定参数默认值
{
fixwidth = 200;
fixheight = 200;
}else{
var max = thumbs_size.split('x');
fixwidth = max[0];
fixheight = max[1]; }
/*
imgs = document.getElementsByTagName('img');
for(i=0;i<imgs.length;i++) {
w=imgs.width;
h=imgs.height;
if(w>fixwidth) {
imgs[i].width=fixwidth;
imgs[i].height=h/(w/fixwidth);
} //如果图片高度大于设定宽度 图片高度=设定宽度,图片宽度=原高度/(原宽度/设定宽度)
if(h>fixheight) {
imgs[i].height=fixheight;
imgs[i].width=w/(h/fixheight);
}*/
//如果图片高度大于设定高度 图片高度=设定高度,图片宽度=原宽度/(原高度/设定高度)
//此上代码问题在于如果宽、高都超过默认,最终以高度为基准,高度依旧有可能超过原有高度。
//以下为修改代码,通过对原图宽高比与设定宽高比进行比较而判断出是使用设定宽还是高。
if((fixwidth/fixheight)>(img.width/img.height)) //如果设定宽高比>原图宽高比,则以设定高为基准
{
if(img.height>fixheight) {
img.height=fixheight;
img.width=img.width/(img.height/fixheight);
}
}
else //反之则已设定宽为基准
{
if(img.width>fixwidth) {
img.width=fixwidth;
img.height=img.height/(img.width/fixwidth);
}
}
//补充完毕
/*
if(h>fixheight) {
imgs[i].style.cursor= "pointer";
imgs[i].onclick = function() { window.open(this.src);}
if (navigator.userAgent.toLowerCase().indexOf("ie") > -1) {
imgs[i].title = "点击查看放大图片";
imgs[i].onmousewheel = function img_zoom() {
var zoom = parseInt(this.style.zoom, 10) || 100;
zoom += event.wheelDelta / 12;
if (zoom> 0) {
this.style.zoom = zoom + "%";
return false;
}
}
}
else {
imgs[i].title = "点击查看放大图片";
}
}
}*/
}
</script>
Flash AS2 事件处理机制
作者:la5u4ever 日期:2008-08-29
本教程中你将学习下面的内容:
1.事件处理机制.
2.创建类库.
3.使用 回调函数.
3.1.示例: CFEventClass 类(简单的示例).
3.2.示例: CFTimer 类(定时器).
4.使用 addListener 方法(AsBroadcaster / BroadcasterMX 类).
4.1.示例: AsBEventClass 类(简单的示例).
4.2.示例: AsBTimer 类(定时器).
5.使用 addEventListener 方法(EventDispatcher 类).
5.1.示例: EDEventClass 类(简单的示例).
5.2.示例: EDTimer 类(定时器).
6.建立强大的事件处理机制.
6.1.创建 CFDelegate 类(修改 Delegate 类).
6.2.创建 CFEventDispatcher 类(修改 EventDispatcher 类).
6.3.创建 Event 类(事件基类,继承 Object 类).
6.4.创建 IOErrorEvent 类(错误事件类,继承 Event 类).
6.5.创建 HTTPStatusEvent 类(http状态事件类,继承 Event 类).
6.6.示例: EventClass 类(简单的示例).
6.7.示例: Timer 类(定时器,功能跟 AS3 中的 Timer 类一样).
7.小结.
源文件(LRC 和 CFSound 类也在这):Flash Class Library.rar
[1.事件处理机制]
用javascipt 实现加载进度条
作者:la5u4ever 日期:2008-08-08
谷歌首页移动层效果
作者:la5u4ever 日期:2008-08-08
- <html>
- <head>
- <title>DRAG the DIV</title>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
- <style>
- *{font-size:12px}
- .dragTable{
- font-size:12px;
- border-top:1px solid #3366cc;
- margin-bottom: 10px;
- width:100%;
- background-color:#FFFFFF;
- }
- td{vertical-align:top;}
- .dragTR{
- cursor:move;
- color:#7787cc;
- background-color:#e5eef9;
- height:20px;
- padding-left:5px;
- font-weight:bold;
- }
- #parentTable{
- border-collapse:collapse;
- letter-spacing:25px;
- }
- </style>
- <script defer>
- /****JoeLee************E-MAIL:hktx@163.com****QQ:48293707*****11:09 2006-2-9******/
- var Drag={dragged:false,
- ao:null,
- tdiv:null,
- dragStart:function(){
- Drag.ao=event.srcElement;
- if((Drag.ao.tagName=="TD")||(Drag.ao.tagName=="TR")){
- Drag.ao=Drag.ao.offsetParent;
- Drag.ao.style.zIndex=100;
- }else
- return;
- Drag.dragged=true;
- Drag.tdiv=document.createElement("div");
- Drag.tdiv.innerHTML=Drag.ao.outerHTML;
- Drag.ao.style.border="1px dashed red";
- Drag.tdiv.style.display="block";
- Drag.tdiv.style.position="absolute";
- Drag.tdiv.style.filter="alpha(opacity=70)";
- Drag.tdiv.style.cursor="move";
- Drag.tdiv.style.border="1px solid #000000";
- Drag.tdiv.style.width=Drag.ao.offsetWidth;
- Drag.tdiv.style.height=Drag.ao.offsetHeight;
- Drag.tdiv.style.top=Drag.getInfo(Drag.ao).top;
- Drag.tdiv.style.left=Drag.getInfo(Drag.ao).left;
- document.body.appendChild(Drag.tdiv);
- Drag.lastX=event.clientX;
- Drag.lastY=event.clientY;
- Drag.lastLeft=Drag.tdiv.style.left;
- Drag.lastTop=Drag.tdiv.style.top;
- },
- draging:function(){//重要:判断MOUSE的位置
- if(!Drag.dragged||Drag.ao==null)return;
- var tX=event.clientX;
- var tY=event.clientY;
- Drag.tdiv.style.left=parseInt(Drag.lastLeft)+tX-Drag.lastX;
- Drag.tdiv.style.top=parseInt(Drag.lastTop)+tY-Drag.lastY;
- for(var i=0;i<parentTable.cells.length;i++){
- var parentCell=Drag.getInfo(parentTable.cells[i]);
- if(tX>=parentCell.left && tX<=parentCell.right && tY>=parentCell.top && tY<=parentCell.bottom){
- var subTables=parentTable.cells[i].getElementsByTagName("table");
- if(subTables.length==0){
- if(tX>=parentCell.left && tX<=parentCell.right && tY>=parentCell.top && tY<=parentCell.bottom){
- parentTable.cells[i].appendChild(Drag.ao);
- }
- break;
- }
- for(var j=0;j<subTables.length;j++){
- var subTable=Drag.getInfo(subTables[j]);
- if(tX>=subTable.left && tX<=subTable.right && tY>=subTable.top && tY<=subTable.bottom){
- parentTable.cells[i].insertBefore(Drag.ao,subTables[j]);
- break;
- }else{
- parentTable.cells[i].appendChild(Drag.ao);
- }
- }
- }
- }
- }
- ,
- dragEnd:function(){
- if(!Drag.dragged)return;
- Drag.dragged=false;
- Drag.mm=Drag.repos(150,15);
- Drag.ao.style.borderWidth="0px";
- Drag.ao.style.borderTop="1px solid #3366cc";
- Drag.tdiv.style.borderWidth="0px";
- Drag.ao.style.zIndex=1;
- },
- getInfo:function(o){//取得坐标
- var to=new Object();
- to.left=to.right=to.top=to.bottom=0;
- var twidth=o.offsetWidth;
- var theight=o.offsetHeight;
- while(o!=document.body){
- to.left+=o.offsetLeft;
- to.top+=o.offsetTop;
- o=o.offsetParent;
- }
- to.right=to.left+twidth;
- to.bottom=to.top+theight;
- return to;
- },
- repos:function(aa,ab){
- var f=Drag.tdiv.filters.alpha.opacity;
- var tl=parseInt(Drag.getInfo(Drag.tdiv).left);
- var tt=parseInt(Drag.getInfo(Drag.tdiv).top);
- var kl=(tl-Drag.getInfo(Drag.ao).left)/ab;
- var kt=(tt-Drag.getInfo(Drag.ao).top)/ab;
- var kf=f/ab;
- return setInterval(function(){if(ab<1){
- clearInterval(Drag.mm);
- Drag.tdiv.removeNode(true);
- Drag.ao=null;
- return;
- }
- ab--;
- tl-=kl;
- tt-=kt;
- f-=kf;
- Drag.tdiv.style.left=parseInt(tl)+"px";
- Drag.tdiv.style.top=parseInt(tt)+"px";
- Drag.tdiv.filters.alpha.opacity=f;
- }
- ,aa/ab)
- },
- inint:function(){//初始化
- for(var i=0;i<parentTable.cells.length;i++){
- var subTables=parentTable.cells[i].getElementsByTagName("table");
- for(var j=0;j<subTables.length;j++){
- if(subTables[j].className!="dragTable")break;
- subTables[j].rows[0].className="dragTR";
- subTables[j].rows[0].attachEvent("onmousedown",Drag.dragStart);
- }
- }
- document.onmousemove=Drag.draging;
- document.onmouseup=Drag.dragEnd;
- }
- //end of Object Drag
- }
- Drag.inint();
- function _show(str){
- var w=window.open('','');
- var d=w.document;
- d.open();
- str=str.replace(/=(?!")(.*?)(?!")( |>)/g,"=\"$1\"$2");
- str=str.replace(/(<)(.*?)(>)/g,"<span style='color:red;'><$2></span><br />");
- str=str.replace(/\r/g,"<br />\n");
- d.write(str);
- }
- </script>
- </head>
- <body>
- <table border="0" cellpadding="0" cellspacing="10" width="100%" height=500 id="parentTable">
- <tr >
- <td width="25%" valgin="top">
- <table border=0 class="dragTable" cellspacing="0">
- <tr>
- <td><b>GMAIL</b></td>
- </tr>
- <tr>
- <td>暂时无法显示GMAIL内容</td>
- <tr>
- </table><table border=0 class="dragTable" cellspacing="0">
- <tr>
- <td>新浪体育</td>
- </tr>
- <tr>
- <td>解剖威队独门利器FW28 2万转引擎匹配超级变速器颁奖:辛吉斯欣喜能以冠军起步<br/> 印度搭档创下纪录法新社前瞻冬奥短道速滑:中韩唱主角 美加施冷箭</td>
- <tr>
- </table>
- <table border=0 class="dragTable" cellspacing="0">
- <tr>
- <td>焦点</td>
- </tr>
- <tr>
- <td>京广线中断4小时20临客返汉晚点 中国新闻网-湖北分社 - 所有 235 相关报道 »哈马斯已有总理人选
- 解放日报报业集团 - 所有 489 相关报道 »陈水扁是两岸关系麻烦制造者 武汉晨报 - 所有 179 相关报道 »</td>
- <tr>
- </table>
- </td>
- <td width="25%">
- <table border=0 class="dragTable" cellspacing="0">
- <tr>
- <td>中关村在线</td>
- </tr>
- <tr>
- <td>新年行情速递 双敏板卡低价推荐 终于等到了,映泰6600GT一降降一百 罗技G15游戏键盘热力促销,代购价仅529元 </td>
- <tr>
- </table></td>
- <td width="25%">
- <table border=0 class="dragTable" cellspacing="0">
- <tr>
- <td>网易商业</td>
- </tr>
- <tr>
- <td>上海GDP增幅去年出现回落应对反倾销 中国鞋企联手对抗欧盟尹家绪操盘南方汽车 长安谋求曲线整体境外上市</td>
- <tr>
- </table> <table border=0 class="dragTable" cellspacing="0">
- <tr>
- <td>黑可天下</td>
- </tr>
- <tr>
- <td>上海GDP增幅去年出现回落应对反倾销 中国鞋企联手对抗欧盟尹家绪操盘南方汽车 长安谋求曲线整体境外上市</td>
- <tr>
- </table>
- </td>
- </tr>
- </table>
- <input type="button" value="SHOW" onClick="_show(document.documentElement.innerHTML)" />
- </body>
- </html>
Tags: js
javascript 进度条
作者:la5u4ever 日期:2008-08-08
- <body>
- <input type="button" value="start" onclick="processBar.changeMode();if(processBar.isMoving){this.value='Stop';}else{this.value='Start';}">
- </body>
- <script>
- if(window.ActiveXObject) document.execCommand("BackgroundImageCache",false,true);
- function ProcessBar(){
- this.width = 256;
- this.height = 18;
- this.top = 0;
- this.left = 0;
- this.backImg = "process_back.gif";
- this.foreImg = "process.gif";
- this.backDiv = document.createElement("div");
- this.foreDiv = document.createElement("div");
- this.fontDiv = document.createElement("div");
- this.isMoving = false;
- this.nowLength = 0;
- this.moveInterval = 100;
- this.moveRange = 1;
- this.timer;
- ProcessBar.nowObj = this;
- this.init = function(){
- this.foreDiv.style.backgroundImage = "url(" + this.foreImg + ")";
- this.foreDiv.style.backgroundRepeat = "no-repeat";
- this.foreDiv.style.position = "absolute";
- this.foreDiv.style.width = this.nowLength;
- this.foreDiv.style.height = this.height;
- this.foreDiv.style.top = 0;
- this.foreDiv.style.left = 0;
- this.fontDiv.style.background = "transparent";
- this.fontDiv.style.position = "absolute";
- this.fontDiv.style.width = this.width;
- this.fontDiv.style.height = this.height;
- this.fontDiv.style.top = 2;
- this.fontDiv.style.left = 0;
- this.fontDiv.style.textAlign = "center";
- this.fontDiv.style.fontSize = "13px";
- this.fontDiv.appendChild(document.createTextNode(" "));
- this.backDiv.style.backgroundImage = "url(" + this.backImg + ")";
- this.backDiv.style.backgroundRepeat = "no-repeat";
- this.backDiv.style.position = "absolute";
- this.backDiv.style.width = this.width;
- this.backDiv.style.height = this.height;
- this.backDiv.style.top = this.top;
- this.backDiv.style.left = this.left;
- this.backDiv.appendChild(this.foreDiv);
- this.backDiv.appendChild(this.fontDiv);
- document.body.appendChild(this.backDiv);
- }
- this.changeMode = function(){
- this.isMoving = !this.isMoving;
- if(this.isMoving){
- this.timer = window.setInterval(ProcessBar.nowObj.moving, this.moveInterval);
- }else{
- window.clearInterval(this.timer);
- }
- }
- this.moving = function(){
- ProcessBar.nowObj.nowLength += ProcessBar.nowObj.moveRange;
- ProcessBar.nowObj.foreDiv.style.width = ProcessBar.nowObj.nowLength;
- ProcessBar.nowObj.fontDiv.firstChild.data = Math.ceil((ProcessBar.nowObj.nowLength/ProcessBar.nowObj.width )*100) + "%";
- if(ProcessBar.nowObj.nowLength >= ProcessBar.nowObj.width ){
- window.clearInterval(ProcessBar.nowObj.timer);
- ProcessBar.nowObj.fontDiv.firstChild.data = "Complete!";
- }
- }
- }
- var processBar = new ProcessBar();
- processBar.backImg = "http://screenprint2007.cpp114.com/UserFiles/20070412155452218.gif";
- processBar.foreImg = "http://screenprint2007.cpp114.com/UserFiles/20070412155424937.gif";
- processBar.top = 100;
- processBar.left = 20;
- processBar.init();
- </script>
- <body>
- <input type="button" value="start" onclick="processBar.changeMode();if(processBar.isMoving){this.value='Stop';}else{this.value='Start';}">
- </body>
- <script>
- if(window.ActiveXObject) document.execCommand("BackgroundImageCache",false,true);
- function ProcessBar(){
- this.width = 256;
- this.height = 18;
- this.top = 0;
- this.left = 0;
- this.backImg = "process_back.gif";
- this.foreImg = "process.gif";
- this.backDiv = document.createElement("div");
- this.foreDiv = document.createElement("div");
- this.fontDiv = document.createElement("div");
- this.isMoving = false;
- this.nowLength = 0;
- this.moveInterval = 100;
- this.moveRange = 1;
- this.timer;
- ProcessBar.nowObj = this;
- this.init = function(){
- this.foreDiv.style.backgroundImage = "url(" + this.foreImg + ")";
- this.foreDiv.style.backgroundRepeat = "no-repeat";
- this.foreDiv.style.position = "absolute";
- this.foreDiv.style.width = this.nowLength;
- this.foreDiv.style.height = this.height;
- this.foreDiv.style.top = 0;
- this.foreDiv.style.left = 0;
- this.fontDiv.style.background = "transparent";
- this.fontDiv.style.position = "absolute";
- this.fontDiv.style.width = this.width;
- this.fontDiv.style.height = this.height;
- this.fontDiv.style.top = 2;
- this.fontDiv.style.left = 0;
- this.fontDiv.style.textAlign = "center";
- this.fontDiv.style.fontSize = "13px";
- this.fontDiv.appendChild(document.createTextNode(" "));
- this.backDiv.style.backgroundImage = "url(" + this.backImg + ")";
- this.backDiv.style.backgroundRepeat = "no-repeat";
- this.backDiv.style.position = "absolute";
- this.backDiv.style.width = this.width;
- this.backDiv.style.height = this.height;
- this.backDiv.style.top = this.top;
- this.backDiv.style.left = this.left;
- this.backDiv.appendChild(this.foreDiv);
- this.backDiv.appendChild(this.fontDiv);
- document.body.appendChild(this.backDiv);
- }
- this.changeMode = function(){
- this.isMoving = !this.isMoving;
- if(this.isMoving){
- this.timer = window.setInterval(ProcessBar.nowObj.moving, this.moveInterval);
- }else{
- window.clearInterval(this.timer);
- }
- }
- this.moving = function(){
- ProcessBar.nowObj.nowLength += ProcessBar.nowObj.moveRange;
- ProcessBar.nowObj.foreDiv.style.width = ProcessBar.nowObj.nowLength;
- ProcessBar.nowObj.fontDiv.firstChild.data = Math.ceil((ProcessBar.nowObj.nowLength/ProcessBar.nowObj.width)*100) + "%";
- if(ProcessBar.nowObj.nowLength >= ProcessBar.nowObj.width){
- window.clearInterval(ProcessBar.nowObj.timer);
- ProcessBar.nowObj.fontDiv.firstChild.data = "Complete!";
- }
- }
- }
- var processBar = new ProcessBar();
- processBar.width=327
- processBar.backImg = "http://screenprint2007.cpp114.com/UserFiles/20070414161906093.jpg";
- processBar.foreImg = "http://screenprint2007.cpp114.com/UserFiles/20070414161919171.jpg";
- processBar.top = 100;
- processBar.left = 20;
- processBar.init();
- </script>







