`
hjy2099
  • 浏览: 261305 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

如何监听Canvas上滚动条的出现或隐藏 Quick Tip: How to Monitor the

    博客分类:
  • Flex
UI 
阅读更多

转自:http://riashanghai.com/zh-hant/node/88

当Canvas中的内容比较满时,超出Canvas显示边界的内容会引起Vertical Scrollbar或者Horizontal Scrollbar的显示。PNG-0976

Scrollbar会占据一些面积,从而可能会影响软件UI的布局。我们也许会根据Scrollbar的显示而对界面进行相应的调整。

当我们浏览完Canvas的自带Event后,不难发现,关于滚动的只有一个Scroll事件。当用户拖动滚动条时,这个事件才会被激发。非我们所需。

解决思路如下,

1. Scrollbar的出现是因为页面面积的变化。会激发Canvas的updateComplete事件的激发;

2. 并不是所有的updateComplete的事件的激发都会伴有Scrollbar的出现。那么我们可以在updateComplete的监听方程中来判断下Canvas的scrollbar的property是否为空;

3. 在updateComplete的监听方程中,需要为2中的判断加一个flag,以标明是否scrollbar是由从无到有的出现。

实现的大概代码如下,

  1. private function onInit():void{   
  2.   //config the UPDATE_COMPLETE event listener function   
  3.   this.addEventListener(FlexEvent.UPDATE_COMPLETE, traceScrollBar);   
  4. }   
  5.   
  6. /**  
  7.  * "isShowUp" is the flag for checking whether the scrollbar is added from null status  
  8.  * "can" is the scrollbar's container  
  9.  * @param event canvas' UPDATE_COMPLETE event  
  10.  */  
  11. private function traceScrollBar(event:FlexEvent):void{   
  12.   if(can.verticalScrollBar != null && !isShowUp){   
  13.     trace("The vertical scrollbar is added");   
  14.     isShowUp = true;   
  15.     return;   
  16.   }   
  17.   if(can.verticalScrollBar == null && isShowUp){   
  18.     isShowUp = false;   
  19.     return;   
  20.   }   
  21. }  
分享到:
评论

相关推荐

    html5 canvas页面滚动背景图片旋转动画特效

    在这个特定的场景中,我们讨论的是如何使用Canvas实现页面滚动时背景图片的旋转动画特效。这样的效果可以增加网页的视觉吸引力,为用户带来更生动的浏览体验。 首先,我们要了解Canvas的基本用法。Canvas是一个HTML...

    HTML一张大图片,屏幕显示不下,显示滚动条,拖动滚动条来观看大图片(移动视口).zip

    默认情况下,浏览器会显示滚动条(`overflow: auto`),或者可以隐藏滚动条(`overflow: hidden`)或显示水平/垂直滚动条(`overflow-x: scroll`或`overflow-y: scroll`)。 3. **响应式设计**: 使用媒体查询(`@...

    html5 canvas马赛克滚动调整

    - **滚动事件监听**:使用`window.addEventListener('scroll', handleScroll)`来监听滚动事件。当用户滚动页面时,`handleScroll`函数会被调用,我们可以在这个函数中处理马赛克效果的更新。 - **视口定位**:确定...

    html2canvas案例解决模糊不清及滚动下拉问题(已测试,可直接应用到项目中)

    HTML2canvas是一个JavaScript库,它允许在浏览器环境中将HTML内容渲染为Canvas图像,进而可以转换为JPEG、PNG或SVG格式。这个工具对于开发者来说非常有用,因为它能够方便地捕获网页截图,尤其在Web应用程序中,例如...

    Qt官方 QtQuickCanvasTutorial教程,及示例代码

    Qt Quick Canvas是Qt框架中的一个强大组件,它允许开发者在Qt Quick环境中进行高性能的2D图形绘制。这个组件特别适用于需要进行复杂图形渲染或者游戏开发的场景,因为它提供了低级别的绘图API,可以直接操作像素,...

    WPF ScrollViewer样式 滚动时显示滚动条

    滚动时显示滚动条,其他时候隐藏样式,滚动条为细窄边框

    解决htmlcanvas手机无法截图或者截图不全的问题

    它允许我们在网页上进行动态图形绘制,而html2canvas库则是基于这个特性实现的一个JavaScript库,用于将HTML元素转换为Canvas图像,进而可以将其导出为图片,例如JPEG、PNG或Base64编码的数据URL。然而,在实际应用...

    div悬浮在canvas上

    例如,可以监听canvas的`mousedown`和`mousemove`事件,然后通过计算鼠标位置与div的位置关系来实现相应功能。 4. **Canvas绘图与div的结合**: 当canvas上绘制的图形可能遮挡div时,可以考虑使用`...

    html5 canvas酷炫的线条动画特效

    `beginPath()`开始一个新的路径,`moveTo(x, y)`移动到指定坐标,`lineTo(x, y)`画一条到新坐标的线,最后`stroke()`描绘出线条。 ```javascript ctx.beginPath(); ctx.moveTo(10, 10); ctx.lineTo(100, 100); ctx....

    canvas 特效之变化线条

    在网页开发中,Canvas 是一个非常重要的元素,它允许开发者通过 JavaScript 来绘制动态图形,实现各种复杂的视觉效果。"canvas 特效之变化线条"这个主题,主要聚焦于利用 Canvas API 创建动态、变化的线条效果。下面...

    Qt Quick之Canvas(画布),适合Qt初学者

    ### Qt Quick之Canvas(画布)详解 #### 一、Canvas概述 在Qt Quick中,Canvas是一个极其重要的组件,主要用于创建二维图形,并提供了丰富的API来支持各种图形的绘制。通过Canvas,开发人员可以在QML(Qt Modeling...

    HTML5 Canvas流动线条动画特效.zip

    如果要实现丝带逐渐出现或消失的效果,可以动态调整这个值。 5. **随机性**:为了让动画看起来更自然,可以添加一些随机因素,比如随机改变线条的长度、角度或者速度。 6. **循环更新**:在`requestAnimationFrame...

    微信小程序 uni-app wxml-to-canvas 小程序内通过静态模板和样式绘制 canvas ,导出图片,可用于生成分

    `wxml-to-canvas`的出现解决了这个问题,它允许开发者使用熟悉的WXML和CSS语法,然后将这些模板和样式转换为canvas上的图形。 首先,`uni-app`是一个多端开发框架,它使得开发者可以用一套代码同时构建微信小程序、...

    WPF滚动条控件样式

    在Windows Presentation Foundation (WPF) 中,滚动条控件(ScrollBar)和ScrollViewer是用于处理内容超出可视区域的情况的关键组件。它们提供了用户界面中的导航功能,允许用户查看和操作不可见的内容。本篇将深入...

    android日期选择 滚动条代码

    1. 事件监听器:自定义滚动条应该提供一个回调接口或者使用Android的`OnSeekBarChangeListener`,使得当滚动条的值改变时,可以通知到Activity或Fragment。在滚动条的值改变时调用回调方法,传递新的值。 2. 事件...

    HTML5 Canvas竖直线条视差特效.zip

    4. **JavaScript事件监听**:使用`window.addEventListener('scroll', function)`监听滚动事件,当用户滚动时执行相应的回调函数,更新Canvas上的视差效果。 5. **性能优化**:为了保证流畅的动画效果,可以使用...

    自定义滚动条flex

    自定义滚动条.用canvas做滚动条条 用button做滑块

    鼠标在canvas上悬浮,并提示鼠标位置信息

    "鼠标在canvas上悬浮,并提示鼠标位置信息"这个主题涉及到了Canvas与事件处理、坐标系统以及用户交互的相关知识。 首先,我们需要理解HTML5 Canvas的基本结构。一个Canvas元素可以通过`<canvas>`标签在HTML文档中...

    android垂直滚动条(VerticalSeekbar)

    在Android开发中,有时我们可能需要使用垂直滚动条(Vertical Seekbar)来替代传统的水平滚动条,以便更好地适应用户界面的设计需求。垂直滚动条通常用于调整音量、亮度或者进度等参数,它允许用户通过上下滑动来...

    JavaScript-Canvas-to-Blob.zip

    在实际应用中,Canvas to Blob库对于处理用户在canvas上绘制的内容特别有用,比如在线绘图工具、图像编辑器或截图工具。它使得我们可以轻松地将用户在canvas上的操作保存为本地文件,或者发送到服务器进行进一步处理...

Global site tag (gtag.js) - Google Analytics