1

我来自 as2 和 as3 背景。我想知道 jquery、javascript 或 ajax 是否在 flash 中提供 onEnterFrame 函数?

我的目标是在用户调整浏览器大小或放大/缩小时 自动对齐运行时我的#div1(左)

 __________________________________
|     |                    |      | 
|     |     #banner div    |      |           
|     |                    |      |
|     |____________________|      |
|     |      div 1         |      |      
|     |                    |      |
-----------------------------------

#div1 {
position: absolute;
left: some random number based on the browser width;
top: 0px;
}
4

3 回答 3

1

首先,JavaScript 没有时间线的概念,因此通常情况下,您无法使用任何与时间线相关的事件,例如“onEnterFrame”。在 html/css/js 中创建应用程序更像是在 Flex 而不是 Flash 中创建应用程序。

现在要为您的问题提供特定的解决方案,您可以尝试以下方法:

var box = document.getElementById("div1");
var box_style = box.style;

window.onresize = function(e){
    box_style.left = Math.random() * 200 + "px"; // your max value instead of 200
}

现场示例:http: //jsfiddle.net/cherniv/5grMx/

于 2013-10-16T06:43:48.430 回答
0

不,但是您可以在 javascript 中设置一个计时器,这就是您的 onEnterFrame。

于 2015-03-29T08:05:51.197 回答
0

我认为最相似的功能onEnterFramerequestAnimationFrame(1)。它在帧渲染之前被准确地调用。但是,如果您希望它被重复调用,它只被调用一次。您需要在回调中再次请求新的回调。

但是,如果您希望它仅在调整窗口大小之前触发,您可以使用window.onresizeevent(2)。

如果您只想使用静态值,例如50 % of its base container's width + 20 px. 您可以只使用 css 来做到这一点,css3 有一个称为calc()(3) 的长度类型。允许您根据其基本容器计算长度。

  1. https://developer.mozilla.org/en-US/docs/Web/API/Window.requestAnimationFrame
  2. https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onresize
  3. https://developer.mozilla.org/en-US/docs/Web/CSS/calc
于 2015-03-29T09:31:26.633 回答