社区
ASP
帖子详情
如何实现flash图片随滚动条上下移动
ptqw
2005-12-08 09:29:05
如题,flash图片能随滚动条上下移动,页面上下移动,flash在屏幕的相对位置不变,应如何实现,最好给出代码
...全文
314
2
打赏
收藏
如何实现flash图片随滚动条上下移动
如题,flash图片能随滚动条上下移动,页面上下移动,flash在屏幕的相对位置不变,应如何实现,最好给出代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ptqw
2005-12-08
打赏
举报
回复
问题已解决,非常感谢!分数送上~
starytx
2005-12-08
打赏
举报
回复
<script language=JavaScript>
self.onError=null;
currentX = currentY = 0;
whichIt = null;
lastScrollX = 0; lastScrollY = 0;
NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1: 0;
<!-- STALKER CODE -->
function heartBeat() {
if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
if(diffY != lastScrollY) {
percent = .1 * (diffY - lastScrollY);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelTop += percent;
if(NS) document.floater.top += percent;
lastScrollY = lastScrollY + percent;
}
if(diffX != lastScrollX) {
percent = .1 * (diffX - lastScrollX);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelLeft += percent;
if(NS) document.floater.left += percent;
lastScrollX = lastScrollX + percent;
}
}
<!-- /STALKER CODE -->
<!-- DRAG DROP CODE -->
function checkFocus(x,y) {
stalkerx = document.floater.pageX;
stalkery = document.floater.pageY;
stalkerwidth = document.floater.clip.width;
stalkerheight = document.floater.clip.height;
if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;
else return false;
}
function grabIt(e) {
if(IE) {
whichIt = event.srcElement;
while (whichIt.id.indexOf("floater") == -1) {
whichIt = whichIt.parentElement;
if (whichIt == null) { return true; }
}
whichIt.style.pixelLeft = whichIt.offsetLeft;
whichIt.style.pixelTop = whichIt.offsetTop;
currentX = (event.clientX + document.body.scrollLeft);
currentY = (event.clientY + document.body.scrollTop);
} else {
window.captureEvents(Event.MOUSEMOVE);
if(checkFocus (e.pageX,e.pageY)) {
whichIt = document.floater;
StalkerTouchedX = e.pageX-document.floater.pageX;
StalkerTouchedY = e.pageY-document.floater.pageY;
}
}
return true;
}
function moveIt(e) {
if (whichIt == null) { return false; }
if(IE) {
newX = (event.clientX + document.body.scrollLeft);
newY = (event.clientY + document.body.scrollTop);
distanceX = (newX - currentX); distanceY = (newY - currentY);
currentX = newX; currentY = newY;
whichIt.style.pixelLeft += distanceX;
whichIt.style.pixelTop += distanceY;
if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;
if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;
event.returnValue = false;
} else {
whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);
if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;
if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;
if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
return false;
}
return false;
}
function dropIt() {
whichIt = null;
if(NS) window.releaseEvents (Event.MOUSEMOVE);
return true;
}
<!-- DRAG DROP CODE -->
if(NS) {
window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
window.onmousedown = grabIt;
window.onmousemove = moveIt;
window.onmouseup = dropIt;
}
if(NS || IE) action = window.setInterval("heartBeat()",1);
</script>
<div id="floater" style="position:absolute; width:97px; height:98px; z-index:10; left: 2px; top: 3px" ><a href="#"><img src="图片路径" width="97" height="97" border="0"></a></div>
Flash
特好用的
滚动条
效果
Flash
滚动条
效果的
实现
主要基于ActionScript 3.0(AS3),这是
Flash
平台上的脚本语言,用于控制动画、处理用户交互和构建复杂的逻辑。"as3scroll.fla"文件名暗示了这是一个包含AS3代码的
Flash
源文件,其中可能包含了...
as3
滚动条
制作
AS3
滚动条
制作是
Flash
开发中的一个重要组成部分,主要用于在内容超过可视区域时提供导航,确保用户可以方便地浏览和操作长或宽的内容。在
Flash
环境中,ActionScript 3(AS3)是编程语言,用于创建交互式的动画和应用...
AS3
滚动条
在AS3中,
滚动条
是通过
Flash
的UI组件库来创建和控制的,允许用户在长或宽的数据显示区域中进行上下或左右
移动
。这些
滚动条
可以是横向的,也可以是竖向的,根据用户界面的需求进行选择。 AS3
滚动条
主要由以下几个...
AS3
滚动条
源码
这篇关于"AS3
滚动条
源码"的资源包含了
实现
横、纵向
滚动条
的代码,这将帮助开发者更好地理解如何自定义和控制
滚动条
的行为。
滚动条
主要由两个部分组成:滑块和轨道。滑块在轨道上
移动
,代表了内容的当前显示位置。...
AS3 横向-竖向
滚动条
带源码
滚动条
有两种主要类型:水平
滚动条
(用于左右
移动
)和垂直
滚动条
(用于上下
移动
)。 1. **创建
滚动条
组件**: - 首先,你需要创建一个继承自UIComponent的类,定义滑块和轨道的图形元素。 - 然后,需要
实现
滑块的...
ASP
28,406
社区成员
356,946
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章