上一页下一页

拖动层

“拖动层”动作允许访问者拖动层。使用此动作创建拼板游戏、滑块控件和其他可移动的界面元素。

您可以指定访问者可以向哪个方向拖动层(水平、垂直或任意方向),访问者应该将层拖动到的目标、如果层在目标一定数目的像素范围内是否将层靠齐到目标,当层接触到目标时应该执行的操作和其他更多的选项。

因为在访问者可以拖动层之前必须先调用“拖动层”动作,所以请确保触发该动作的事件发生在访问者试图拖动层之前。最佳的方法是(使用 onLoad 事件)将“拖动层”附加到 body 对象上,虽然您也可以使用 onMouseOver 事件将它附加到填满整个层的链接上(例如图像周围的链接)。

若要使用“拖动层”动作,请执行以下操作:
  1. 选择“插入”>“层”或单击“插入”栏上的“绘制层”按钮并在“文档”窗口的“设计”视图中绘制一个层。
  2. 通过单击文档窗口底部标签选择器中的 <body> 选择 body 标签。
  3. 打开“行为”面板。
  4. 单击加号 (+) 按钮并从“动作”弹出式菜单中选择“拖动层”。
  5. 如果“拖动层”不可用,则可能是因为您选择了层。因为层在两个 4.0 版本的浏览器中都不接受事件,所以您必须选择一个不同的对象 - 如 body 标签或链接(a 标签)- 或者在“显示事件”弹出式菜单中将目标浏览器更改为 IE 4.0。

  6. 在“层”弹出式菜单中,选择要使其可拖动的层。
  7. 从“移动”弹出式菜单中选择“限制”或“不限制”。
  8. 不限制移动适用于拼板游戏和其他拖放游戏。对于滑块控件和可移动的布景(例如文件抽屉、窗帘和小百叶窗),请选择限制移动。

  9. 对于限制移动,在“上”、“下”、“左”和“右”域中输入值(以像素为单位)。
  10. 这些值是相对于层的起始位置的。如果限制在矩形区域中的移动,则在所有四个域中都输入正值。如果只允许垂直移动,则在“上”和“下”域中输入正值,在“左”和“右”域中输入 0。如果只允许水平移动,则在“左”和“右”域中输入正值,在“上”和“下”域中输入 0。

  11. 在“左”和“上”域中为拖放目标输入值(以像素为单位)。
  12. 拖放目标是一个点,您想要访问者将层拖动到该点上。当层的左坐标和上坐标与在“左”和“上”域中输入的值匹配时便认为层已经到达拖放目标。这些值是与浏览器窗口的左上角相对的。单击“取得目前位置”用层的当前位置自动填充这些域。

  13. 在“靠齐距离”域中输入一个值(以像素为单位)确定访问者必须放目标多近,才能将层靠齐到目标。
  14. 较大的值可以使访问者较容易找到拖放目标。

  15. 对于简单的拼板游戏和布景处理,您可以到此为止了。若要定义层的拖动控制点、在拖动层时跟踪层的移动以及当放下层时触发一个动作,请单击“高级”标签。
  16. 若要指定访问者必须单击层的特定区域才能拖动层,请从“拖动控制点”弹出式菜单中选择“层内区域”;然后输入左坐标和上坐标以及拖动控制点的宽度和高度。
  17. 此选项用于层中的图像具有提示拖动元素(例如一个标题条或抽屉把)的情况。如果要让访问者单击层的任何位置都可以拖动层,则不要设置此选项。

  18. 选择任何要使用的“拖动时”选项:
    • 如果层在被拖动时应该移动到堆叠顺序的顶部,则选择“将层移至最前”。如果选择此选项,则使用弹出式菜单选择是否将层保留在最前面或将其恢复到它在堆叠顺序中的原位置。
    • 在“调用 JavaScript”域中输入 JavaScript 代码或函数名称(例如 monitorLayer())以在拖动层时重复执行该代码或函数。例如,您可以编写一个函数,该函数监视层的坐标并在一个文本域中显示提示(如“您正在接近目标”或“您离拖放目标还很远”)。请参见收集有关可拖动层的信息
  19. 在第二个“调用 JavaScript”域中输入 JavaScript 代码或函数名称(例如 evaluateLayerPos())以在放下层时执行该代码或函数。如果只有在层到达拖放目标时才执行该 JavaScript,则选择“只有在靠齐时”。
  20. 单击“确定”。
  21. 检查默认事件是否是所需的事件。
  22. 如果不是,则从弹出式菜单中选择另一个事件。如果未列出所需的事件,则在“显示事件”弹出式菜单中更改目标浏览器。请记住 3.0 版的浏览器不支持层。

备注: 您不能将“拖动层”动作附加到具有 onMouseDown 或 onClick 事件的对象。


  上一页下一页