`

Flex学习记录(在容器内控制滚动和溢出)

阅读更多
你需要禁用容器的垂直滚动条并且在某个组件上创建一个用户可以通过鼠标滑过来控制滚
动的区域。
使用horizontalScrollPolicy、verticalScrollPolicy 和verticalScrollPosition 属性。
我们可以通过horizontalScrollPolicy 和verticalScrollPolicy 属性控制滚动条。如果
要使其中一个或全部滚动条始终显示,则将其中一个或全部设置成”on”,反之亦然。
而”auto”值则导致滚动条仅在容器的实际测量尺寸大于width 或height 指定的值时出
现。例如,将horizontalScrollPolicy 设置为”auto”则意味着当容器的宽度超过width
属性的值时出现滚动条。
要滚动一个组件,使用horizontalScrollPosition 和verticalScrollPosition 属性。通过
这两个属性,我们可以设定组件内容的可视部分往右下角滚动多远的距离。例如:
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="600"
height="200" horizontalScrollPolicy="auto"
verticalScrollPolicy="off" mouseMove="autoScroll(event)">
<mx:Script>
<![CDATA[
private var hasAddedScroll:Boolean = false;
private function autoScroll(event:MouseEvent):void
{
if(mouseX > width - 50 && !hasAddedScroll)
{
addEventListener(Event.ENTER_FRAME, scrollRight);
hasAddedScroll = true;
}e
else if(mouseX < 50 && !hasAddedScroll)
{
addEventListener(Event.ENTER_FRAME, scrollLeft);
hasAddedScroll = true;
}e
else
{
removeEventListener(Event.ENTER_FRAME,
scrollRight);
removeEventListener(Event.ENTER_FRAME,
scrollLeft);
hasAddedScroll = false;
}
}
private function scrollRight(event:Event):void
{
if(horizontalScrollPosition <
maxHorizontalScrollPosition)
{
horizontalScrollPosition+=4;
}e
else
{
removeEventListener(Event.ENTER_FRAME,
scrollRight);
hasAddedScroll = false;
}
}
private function scrollLeft(event:Event):void
{
if(horizontalScrollPosition > 0)
{
horizontalScrollPosition-=4;
}e
else
{
removeEventListener(Event.ENTER_FRAME,
scrollLeft);
hasAddedScroll = false;
}
}
]]>
</mx:Script>
<mx:Image source="@Embed('assets/image.png')"/>
<mx:Image source="@Embed('assets/image.png')"/>
<mx:Image source="@Embed('assets/image.png')"/>
<mx:Image source="@Embed('assets/image.png')"/>
<mx:Image source="@Embed('assets/image.png')"/>
</mx:HBox>
分享到:
评论

相关推荐

    flex HorizontalList

    - `overflow-x`:用于控制容器在水平方向上的溢出行为。设置为`auto`或`scroll`,可以添加滚动条以显示超出可视区域的项目。 2. **HorizontalList的实现** - HTML结构:首先,创建一个包含多个子元素的容器,每个...

    div嵌套的div溢出时换行

    在网页设计中,"div嵌套的div溢出时换行"是一个常见的布局问题,尤其在处理响应式设计或者自适应屏幕尺寸时显得尤为重要。这个问题涉及到CSS(Cascading Style Sheets)布局、盒模型以及流体布局等概念。下面将详细...

    移动web开发实例flex布局案例源码

    通过学习这些Flex布局案例,你可以应用到实际项目中,比如创建响应式菜单、自适应图片网格、滚动同步效果等,提升移动Web应用的交互性和视觉一致性。 总之,Flex布局为移动Web开发提供了强大的布局工具,通过深入...

    FLEX给页面添加滚动条实现思路及代码

    在CSS中,通过设置`display: flex`或`display: inline-flex`属性,我们可以将容器设置为Flex容器。容器内的子元素则称为Flex项目,它们可以在一行或多行内自动分配空间,并能根据需要调整大小。滚动条的添加主要是...

    flex布局实现无缝滚动的示例代码

    为了实现无缝滚动,我们需要一个包含多个元素(如图片)的列表,这些元素可以在容器内水平滚动。关键在于巧妙地利用Flex布局的特性。首先,设置父容器(`.box-big`)的`flex-wrap`属性为`wrap`,使得元素可以在换行...

    flex 滑动隐藏效果

    例如,可以监听滚动事件,当用户滚动到特定位置时,改变Flex容器的`justify-content`或`align-items`属性,或者切换元素的`display`属性来控制可见性。还可以使用CSS的`transition`属性添加平滑过渡效果,提升用户...

    Html之滚动吧DIV

    `overflow`属性可以设置为`visible`(默认值,内容溢出元素边界)、`hidden`(隐藏溢出内容)、`scroll`(始终显示滚动条)或`auto`(仅在需要时显示滚动条)。例如: ```css .container { overflow: auto; } `...

    FF下文本溢出的text-overflow完美解决方方案

    例如,通过限制容器的宽度并使用`flex-wrap: nowrap`,可以实现多行文本的溢出处理。 6. 切换到`display: -moz-box`:这是一种老式的Flexbox实现,虽然不推荐,但在某些情况下可能有用。它允许你在Firefox中控制...

    htmlcss 图片滚动特效

    这可以通过设置`display: flex`,`flex-direction: row`,以及适当的宽度和溢出处理来实现: ```css .scrolling-container { display: flex; flex-direction: row; overflow-x: auto; white-space: nowrap; /* ...

    Flex画线随意拖动

    - 对于贝塞尔曲线,确保所有控制点和曲线都在可视区域内,可能需要添加自动调整或限制范围的逻辑。 5. **性能优化**: - 为了避免不必要的重绘,可以使用`invalidateDisplayList()`方法来延迟更新,直到需要显示...

    flex3的cookbook书籍完整版dpf(包含目录)

    3.9 节在容器内控制滚动和溢出 3.10 节控制Box 组件的布局 3.11 节使用容器初始化 3.12 节创建TitleWindow 3.13 节通过LinkBar 控制ViewStack 3.14 节将ViewStack 的选中索引数绑定到一个变量上 3.15 节使用延迟实例...

    实现表格动态滚动效果

    为`ul`设置`display: flex`并开启`flex-wrap`以实现多行布局,为`li`设置宽度和内边距来模拟单元格: ```css .table-container ul { display: flex; flex-wrap: wrap; list-style-type: none; padding: 0; ...

    简单的带滚动条上传,和文件重命名例子

    在网页中,当文件数量过多或者文件大小较大导致页面内容无法在屏幕内完全显示时,就需要使用滚动条。在HTML和CSS中,可以通过设置`overflow`属性来控制内容的显示方式,例如`overflow-y: scroll`会让内容区域始终...

    用CSS做的图片滚动下拉效果.zip

    在这里,我们可能会使用`display: flex`来创建一个可滚动的容器。 - **Grid**:网格布局系统,用于二维布局,不过对于简单的滚动效果,通常使用Flexbox更为合适。 5. **CSS动画**: - **transition**:用于平滑地...

    flex tree自动显示横向滚动条实现代码

    标题所提及的“flex tree自动显示横向滚动条实现代码”提供了一个自定义的解决方案,通过创建一个名为`AutoSizeTree`的类来扩展`mx.controls.Tree`,使得在内容溢出时能够自动显示横向滚动条。 首先,我们创建一个...

    JavaScript JS 图片不间断滚动

    3. 隐藏溢出:使用`overflow: hidden`来隐藏超出容器的图片部分,从而实现无缝滚动。 4. 自适应调整:利用媒体查询(`media queries`)实现响应式设计,使滚动效果在不同设备上看起来都很好。 在实际项目中,文件名称...

    简单的超好用图片横向滚动.zip

    3. **CSS样式**:设置容器的宽度为无限,溢出隐藏,以及图片的浮动或display flex布局,使得图片能够水平排列。 4. **JavaScript代码**:处理滚动事件,监听用户的滚动动作,根据滚动的距离更新图片的位置,实现平滑...

    无需点击鼠标感应图片无缝左右JS滚动代码.zip

    2. **CSS布局**:为了使图片可以水平滚动,可能使用了CSS的`display: flex`或`display: grid`属性来排列图片,并通过调整容器的宽度和溢出处理来实现滚动效果。 3. **定时器(Timer)**:JavaScript的`setInterval`...

    上下滚动的轮播条

    1. CSS布局:通常使用CSS Flexbox或Grid来构建轮播条的容器,设置合适的宽度、高度和溢出隐藏属性,以便在有限的空间内显示轮播内容。通过调整`flex-direction`或`grid-template-columns/rows`,可以实现内容的垂直...

Global site tag (gtag.js) - Google Analytics