- 浏览: 1776622 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (641)
- vb2005xu自己动手系列 (174)
- vb2005xu开发文章转摘 (47)
- vb2005xu发发牢骚 (99)
- vb2005xu新技术灌水 (12)
- vb2005xu网络资源集锦 (21)
- vb2005xu软件学习 (60)
- 英语学习 (3)
- JavaScript 学习 (54)
- JAVA OOP 巩固 之 CustomDatabase 的开发 (5)
- 2013年9月之前所在公司 记事 (7)
- FleaPHP/QEEPHP 资料 (87)
- JAVA MAIL 学习篇 (4)
- Python turbogears (5)
- Rails 个人开发四部曲 (3)
- 名人传 (8)
- iwp framework (5)
- 高考零分作文 (5)
- startos (8)
- lua (0)
- 职场 (1)
最新评论
-
hellotieye:
自己 评论 自己 挺嗨呀
Mysql sql查询时 if 的用法 -
igevin:
转载请标明出处,转自Gevin的博客http://blog.i ...
RESTful API 编写指南 -
Theobob:
...
实现简单的ACL -
vb2005xu:
比如 对于 curl 调用就不再需要 加各种if 判断了,
$ ...
搞一个简单的数据打印工具AsDebug の Laravel -
vb2005xu:
http://geekplux.com/wiki/
YII2 模块内自定义错误页
不依赖其他的代码库,仅仅一个js文件,代码尚不完善,支持FF,问题颇多,用到共用变量 致使不能new多个实例对象
代码改进中...
Kad = function(){ } ; Kad.prototype.meta = { author: "vb2005xu | http://vb2005xu.iteye.com" , version: "0.1", date: "2009-8-30 19:34:12" , description: 'Kad 是自定义的 页面广告的封装器' } ; /** * 漂浮广告 */ Kad.FloatAD = function(){ this.template = '<div id="@{id}" style="position:absolute;display:none;z-index: 100; top: 0; left: 0;">' + '<a href="@{target-url}" target="_blank">' + '<img src="@{img-url}" border="0" width="@{width}" height="@{height}"/>' + '</a></div>'; }; Kad.FloatAD.prototype = { id: + new Date() , target: 'http://localhost' , img: { url: '',width: '',height: '' }, // set: function(id,target,img_url,w,h){ this.id = id ; this.target = target; this.img.src = img_url ; this.img.width = w ; this.img.height = h ; } , compile: function(){ this.template = this.template.replace(/@{id}/g,this.id) .replace(/@{target-url}/g,this.target).replace(/@{img-url}/g,this.img.src) .replace(/@{width}/g,this.img.width).replace(/@{height}/g,this.img.height) ; } , // init: function(){ this.compile(); //将div追加到body后面 var body = document.getElementsByTagName('body')[0] ; body.innerHTML = this.template + body.innerHTML; } , start: function(){ this.init(); this.run(); } , run: function(){ var floatImg = document.getElementById(this.id); floatImg.style.display = '' ; var delay = 10; //控制每次执行间隔的时间,做越大移动得越慢; var speed = 1; //控制每次执行移动的距离,值越大移动得越快; var flagX = 0; var flagY = 0; flowImg = function () { function toPixel(str1) { //该函数用于去掉数值后面的px,并将之转化为数字。 var oldLen = str1.length; var newLen = oldLen - 2; str2 = str1.slice(0, newLen); str3 = parseInt(str2); return str3; } // var bWidth = document.body.clientWidth; // var bHeight = document.body.clientHeight; // var bLeft = document.body.scrollLeft; // var bTop = document.body.scrollTop; var bWidth = document.documentElement.clientWidth; var bHeight = document.documentElement.clientHeight; var bLeft = document.documentElement.scrollLeft; var bTop = document.documentElement.scrollTop; var iWidth = floatImg.offsetWidth; var iHeight = floatImg.offsetHeight; var iLeft = toPixel(floatImg.style.left); var iTop = toPixel(floatImg.style.top); //下面一段控制横向移动 if(iLeft < (bWidth - iWidth) && flagX == 0) { floatImg.style.left = (iLeft + speed) + "px"; } else if(iLeft >= (bWidth - iWidth) && flagX ==0) { flagX = 1; } else if(iLeft > 0 && flagX == 1) { floatImg.style.left = (iLeft - speed) + "px"; } else if(0 >= iLeft && flagX == 1) { flagX = 0; } //下面一段控制纵向移动 if(iTop < (bHeight - iHeight) && flagY == 0) { floatImg.style.top = (iTop + speed) + "px"; } else if(iTop >= (bHeight - iHeight) && flagY ==0) { flagY = 1; } else if(iTop > 0 && flagY == 1) { floatImg.style.top = (iTop - speed) + "px"; } else if(0 >= iTop && flagY == 1) { flagY = 0; } } var imgInterval = setInterval("flowImg()", delay); floatImg.onmouseover = function() {clearInterval(imgInterval);} floatImg.onmouseout = function() {imgInterval = setInterval("flowImg()", delay);} } } ;
附件中包括完整代码和实例....
问题: 尚不能很清晰的清楚了解js对象作用域...
- Kad.rar (12.7 KB)
- 下载次数: 87
评论
2 楼
vb2005xu
2011-06-01
新版
Kad = function(){ }; Kad.prototype.meta = { author: "vb2005xu | http://vb2005xu.javaeye.com" , version: "0.1", date: "2009-8-30 19:34:12" , description: 'Kad 是自定义的 页面广告的封装器' }; /** * 漂浮广告 */ Kad.FloatAD = function(){ this.divWrapper = document.createElement('div'); this.divWrapper.style['position'] = 'absolute'; this.divWrapper.style['display'] = 'none'; this.divWrapper.style['zIndex'] = '100'; this.divWrapper.style['left'] = '0px'; this.divWrapper.style['top'] = '0px'; this.template = '<div style="position:absolute;z-index: 101">' + '<a href="@{target-url}" target="_blank">' + '<img src="@{img-url}" border="0" width="@{width}" height="@{height}"/>' + '</a>' + '</div>' + '<iframe style="position:absolute;width:100%;height:100%;background:#fff;border:0;z-index: 100"></iframe>' + '<div style="position:absolute;z-index: 100"></div>'; }; Kad.FloatAD.prototype = { id: + new Date() , target: 'http://localhost' , img: { url: '',width: '',height: '' }, // set: function(id,target,img_url,w,h){ this.id = id; this.target = target; this.img.src = img_url; this.img.width = w; this.img.height = h; } , compile: function(){ this.template = this.template.replace(/@{target-url}/g,this.target) .replace(/@{img-url}/g,this.img.src) .replace(/@{width}/g,this.img.width) .replace(/@{height}/g,this.img.height); } , // init: function(){ this.compile(); this.divWrapper.id = this.id; this.divWrapper.style['width'] = this.img.width + 'px'; this.divWrapper.style['height'] = this.img.height + 'px'; this.divWrapper.innerHTML = this.template; //将div追加到body后面 var body = document.getElementsByTagName('body')[0]; body.appendChild(this.divWrapper); } , start: function(){ this.init(); this.run(); } , run: function(){ this.divWrapper.style['display'] = ''; var delay = 10; //控制每次执行间隔的时间,做越大移动得越慢; var speed = 1; //控制每次执行移动的距离,值越大移动得越快; var flagX = 0; var flagY = 0; var divWrapper = this.divWrapper; flowImg = function () { function toPixel(str1) { //该函数用于去掉数值后面的px,并将之转化为数字。 var oldLen = str1.length; var newLen = oldLen - 2; str2 = str1.slice(0, newLen); str3 = parseInt(str2); return str3; } // ie 7/8 firefox 上可以 var bWidth = document.body.clientWidth; var bHeight = document.body.clientHeight; var bLeft = document.body.scrollLeft; var bTop = document.body.scrollTop; // var bWidth = document.documentElement.clientWidth; // var bHeight = document.documentElement.clientHeight; // var bLeft = document.documentElement.scrollLeft; // var bTop = document.documentElement.scrollTop; var iWidth = divWrapper.offsetWidth; var iHeight = divWrapper.offsetHeight; var iLeft = toPixel(divWrapper.style.left); var iTop = toPixel(divWrapper.style.top); //下面一段控制横向移动 if(iLeft < (bWidth - iWidth) && flagX == 0) { divWrapper.style.left = (iLeft + speed) + "px"; } else if(iLeft >= (bWidth - iWidth) && flagX ==0) { flagX = 1; } else if(iLeft > 0 && flagX == 1) { divWrapper.style.left = (iLeft - speed) + "px"; } else if(0 >= iLeft && flagX == 1) { flagX = 0; } //下面一段控制纵向移动 if(iTop < (bHeight - iHeight) && flagY == 0) { divWrapper.style.top = (iTop + speed) + "px"; } else if(iTop >= (bHeight - iHeight) && flagY ==0) { flagY = 1; } else if(iTop > 0 && flagY == 1) { divWrapper.style.top = (iTop - speed) + "px"; } else if(0 >= iTop && flagY == 1) { flagY = 0; } } var imgInterval = setInterval("flowImg()", delay); this.divWrapper.onmouseover = function() {clearInterval(imgInterval);} this.divWrapper.onmouseout = function() {imgInterval = setInterval("flowImg()", delay);} } };
1 楼
vb2005xu
2011-06-01
引用
让Flash乖乖躲到Div浮动层下去
发表于1187 天前 ⁄ 工作学习 ⁄ 暂无评论
今天正打算把刚做完的一个网站提交给客户时突然发现网站首页中因为放了好多Flash,结果把几个浮动的都挡住了。
第一想到的当然是把浮动层的z-index调高,但似乎z-index对Flash不起作用。
又想到:把Flash设为透明呢?一试之下果然好用:只要在Flash对象加入页面时生成的HTML代码中加入以下参数就可以让Div浮动层从Flash下露出来了:<param name=”wmode” value=”transparent” />
另外,放狗搜了一下,发现另外一个更专业的参数:<param name=”wmode” value=”opaque” />
transparent是负责透明的,显出浮动只不过是他的一个副业而已;而opaque才是专门负责让Flash位于其它层下的。
从嘟嘟的Blog上抄来了一段对这两个参数的详细说明:
wmode 属性/参数
值 Window | Opaque | Transparent
说明:
(可选)允许使用 Internet Explorer 4.0 中的透明 Flash 内容、绝对定位和分层显示功能。此标记/属性仅在带有 Flash Player ActiveX 控件的 Windows 中有效。
“Window”在 Web 页上用影片自己的矩形窗口来播放应用程序。“Window”表明此 Flash 应用程序与 HTML 层没有任何交互,并且始终位于最顶层。
“Opaque” 使应用程序隐藏页面上位于它后面的所有内容。
“Transparent”使 HTML 页的背景可以透过应用程序的所有透明部分显示出来,并且可能会降低动画性能。
“Opaque windowless”和“Transparent windowless”都可与 HTML 层交互,从而允许 SWF 文件上方的层遮蔽应用程序。
这两种选项之间的差异在于“Transparent”允许透明,因此,如果 SWF 文件的某一部分是透明的,则 SWF 文件下方的 HTML 层可以透过该部分显示出来,而“opaque”则不会显示。
如果忽略此属性,默认值为 Window。仅适用于 object。
发表评论
-
常用的 js 代码梳理
2016-06-16 12:00 1919/** * 格式化时间函数 * @param {form ... -
fineuploader 跨子域上传文件 cookie丢失问题的解决
2015-10-14 13:30 4811目前的项目中,使用到了fineuploader 这个纯htm ... -
2014 I Love You!
2014-02-14 15:40 1267保存成 html文件后打开 写道 <html> ... -
阻止checkbox的父元素事件冒泡
2014-01-15 20:33 8735今天在开发后台权限管理时使用了tinyaccordion ... -
整理下之前的js代码 moogens.js 记录下
2013-11-26 11:49 1207moogens.jshttps://github.com/v ... -
AOP 在js中的应用
2013-08-29 19:21 0http://www.alloyteam.com/2013/ ... -
自己动手增强 jquery.multiselect2side 调用
2012-11-13 17:50 8631最近用到一个jq插件 jquery.multiselect ... -
坑爹的HTML5应用集锦
2012-11-06 16:23 12451. 3D的俄罗斯方块 http://alteredquali ... -
小旭改的分页代码
2012-10-22 15:54 1344/** * 说明: 在页面指定元素中构建分页条 * ... -
一道js题 的分析历程
2012-08-10 11:14 1312var a = {n:1};a.x=a={n:2}; a.x ... -
修复 artDialog 双击遮罩层就会自动关闭的bug.... 自己动手....
2012-05-24 21:21 6086今天使用的时候发现 双击遮罩层 就会自动关闭 ,我用的版本是 ... -
jquery 也不给力啊 unbind 你让我情何以堪!
2012-05-09 19:36 1525发现一个问题$a = jQuery('img[src=&q ... -
使用 nodejs 形式的语法来规整 js
2012-04-21 10:20 1990/* * 使用 nodejs 形式的语法来规整 js ... -
注册了2个域名 希望能给nodejs一点集合
2011-06-22 12:37 1330NODEJS-OPEN.COM NODEJS-OPEN.I ... -
css 文本折行
2011-05-12 10:27 8372word-wrap:break-word; overflow: ... -
IE 中document.getElementsByName
2011-05-06 10:40 2450IE 中使用 document.getElementsByNa ... -
新年里 把 自己写的 js基础代码 做个了结..... 死机了吧,悲剧了吧 ... 打不开了吧...编辑器bug出现了吧 ff不能黏贴,复制,换组织就不修正么?
2011-02-11 20:28 1775新年里 把 自己写的 js基础代码 做个了结..... 死机了 ... -
考考你们的JS 我只作对了一半 你们试试
2011-02-11 10:40 2172alert(typeof(NaN)); alert( ... -
为自己的JS库 moogens 增加 facebox 组件
2011-01-17 20:16 2084之前的JS慢慢积累下来慢慢也就自己完善了个,比之前的__ini ... -
高级js教程,转国外一个教程
2010-11-22 10:10 3385http://www.sergiopereira.com/ar ...
相关推荐
4. 具有自我识别功能,便于故障诊断:KAD-4 数据采集器具有自我识别功能,能够实时监控自己的工作状态,方便故障诊断和维护。 三、 数据采集器与仪表通讯格式 KAD-4 数据采集器支持多种通讯协议,能够与不同的仪表...
K.A.D高清网络摄像机 型号:KAD-711-200W-IR 文件系统版本T38C-ONVIF V2.4.0的升级固件,升级后,连接中维、海康录像机OK
该项目是基于go-libp2p的kad-dht引导节点的简单实现。 用法: 默认运行(绑定'0.0.0.0'端口:4001): 对于linux: ./bootnode.amdx64-linux linux 对于Windows: bootnode.amdx64-windows.exe 或使用自定义运行...
【KAD-168门禁系统概述】 KAD-168门禁系统是一款采用先进的感应式射频技术的设备,旨在为商务机构、办公室、工厂、住宅小区等场所提供安全、便捷的出入口控制解决方案。其核心优势在于操作简单、安全可靠,无机械...
js-libp2p-kad-dht 基于的Kademlia DHTJavaScript实现。 首席维护者 。 目录 安装 npm 在Node.js中使用 原料药 贡献 执照 安装 npm > npm i libp2p-kad-dht 在Node.js中使用 const KadDHT = require ( 'libp...
在这些应用中,Kad提供了强大的数据分发能力,支持大量的并发用户。 - **工作原理**:Kad协议基于一种高效的分布式哈希表技术,它能够快速找到所需的数据。每个节点都有一个唯一的标识符,并且网络中的所有节点按照...
kad-java kad关键问题流程 算法的三个参数:keyspace,k和α keyspace 即ID有多少位,决定每个节点的通讯录有几层 k 每个一层k-bucket里装k个node的信息,即<node> 每次查找node时,返回k个node的信息,对于某个特定的...
项目开发者正在尝试通过这个工作在进程中的解决方案(WIP)来引入overlay DHT的支持,这无疑为IPFS(InterPlanetary File System)及其衍生项目如IPFS Lite带来了新的可能。 go-libp2p-dht是Go语言实现的libp2p库的...
这是未成型的软件,用于试用并接纳用户的意见,不包含源代码
kad-rtc是一个基于Kademlia协议的P2P(对等网络)系统,结合了WebRTC技术,使得它能够在浏览器和node.js环境中运行。Kademlia是一种分布式哈希表(DHT),它允许网络中的节点高效地存储和查找数据。在P2P网络中,...
Kademlia DHT for Node支持IPv6的更新实现。 用法 使用NPM安装。 我不太可能将其推送到NPM的存储库中,但是您可以直接从github上获取它,如下所示: npm install --save git://github....
使用Arduino编辑器将/arduino/dht.ino源代码上传到Arduino 使用/schema.sql创建mysql表 将/dht-logger.js的第86〜89行的mysql访问信息修改为您自己的 将/dht-server.js的第3-6行中的mysql连接信息修改为您自己的 ...
KAD(Kademlia)是DHT的一种实现,它采用了一种XOR距离算法来定位节点,并通过逐层搜索的方式找到目标数据,具有较高的效率和扩展性。 这份源码实现的DHT-KAD网络,被广泛应用于BT(BitTorrent)软件中,BT是一种点...
在“营销-Kad-E: 营销ENIB项目,MS2”中,我们主要探讨的是一个基于JavaScript的营销项目,适用于ENIB(Ecole Nationale d'Ingénieurs de Brest,法国布雷斯特国立工程师学院)硕士二年级(MS2)的学生。...
- "emule中节点加入kad网络过程(源代码详解).wps"可能详细阐述了eMule节点如何按照kad协议加入网络的过程,涉及节点寻址、邻居发现和路由表建立等步骤。 通过以上文档,我们可以深入学习和理解kad协议的各个方面,...
【KAD Countdown-crx插件】是一款专为用户设计的扩展程序,主要功能是提供敲钟倒计时服务。这款插件的英文名是"KAD Countdown",它旨在为用户提供一个直观且易于使用的倒计时工具,尤其适用于关注特定事件、纪念日...
项目文件“p2p_kad”可能包含了源代码、编译脚本、配置文件等,其中源代码部分可能包括了节点的初始化、路由表管理、查找算法、数据存储等功能模块。通过分析和运行这个项目,我们可以更深入地理解KAD协议的运作原理...
TES2700万用表 芯片 SEC 740B KAD7001
《电骡eMule-0.47c-VeryCD版开源代码及源码分析》 电骡eMule是一款著名的P2P(点对点)文件分享软件,以其高效和可靠的文件传输特性赢得了广大用户的喜爱。0.47c是eMule的一个经典版本,而VeryCD版则是由中国VeryCD...
BitComet、BitSpirit等软件相继采用与BitTorrent兼容的DHT技术,实现了无追踪器的下载方式。此外,eMule等其他P2P软件也融入了类似Kad的技术,尽管它们在key、value和nodeID的计算方法上有所不同。 #### 四、Kad...