2014-06-25 34 views
0

情况:渲染的文档比可用的cocktailview.viewport大。有没有办法滚动cocktailview的完整内容?

据我所知,HTML内在滚动尚不可用(问题#358)。

有没有办法滚动cocktailview(scrollRect等)的完整内容?我使用调试器深入Cocktail类结构的深度(运行时),但找不到比视口大的显示对象。它似乎掩饰/剪辑是深深地深深地完成...

+0

我找不到你在haxe std中提到过的东西。你应该告诉我们你使用的图书馆是什么,它的版本是什么,这样任何人都可以有机会给出答案。我已经检查过您提到的[问题](https://github.com/HaxeFoundation/haxe/issues/358),但它与您的问题没有任何共同之处。 – stroncium

+0

@stroncium图书馆可能是Silex实验室的鸡尾酒:http://www.silexlabs.org/haxe/cocktail/ ...我在Silex实验室Google+小组上分享了这个问题,看看有没有人知道答案... –

+0

我想使用鸡尾酒库查看html文档:http://www.silexlabs.org/haxe/cocktail –

回答

1

鸡尾酒呈现其大部分内容在一个BitmapData上,这就是为什么你不会看到许多DisplayObject。当您滚动位图时,将在右侧偏移处重绘。

您可以滚动使用下面的DOM属性:

  • scrollTop的
  • scrollLeft
  • scrollHeight属性
  • scrollWidth

所以滚动整个文档,你可以这样做:

document.body.scrollTop = 100 //scroll 100 pixels from the top 
+0

它不起作用。 document.body在文档加载时为null,所以我使用onMouseMove事件: var cv = new CocktailView(); cv.viewport = {x:0,y:100,width:480,height:800}; cv.loadURL(“index.html”); (e){ cv.document.body.scrollTop + = 1; } –

+0

@hamid toosi我没有尝试过自己,但这是完全错误的方式来做到这一点。这个声明可以导致任何事情从无限循环或瞬间滚动到完全不做任何事情。 – stroncium

+0

@stroncium:当然。这只是一个测试; –

0

这是如何在完整的鸡尾酒应用程序中完成的。我从来没有使用鸡尾酒,但也许这可以帮助。有了这个,你可以用鼠标滚轮移动身体。

首先,你需要设置这个CSS的身体:

body { 
    overflow: scroll; 
    height: 100%; 
} 

然后在你的代码:由值

Browser.document.body.onmousewheel = function(e) 
{ 
    Browser.document.body.scrollTop += Std.int(e.deltaY * 10); 
} 

e.deltaY返回1或-1,所以你乘选择。

相关问题