在各大电商网站的首页,都能看到自动轮播的广告,每隔数秒,就会自动切换其中的广告;今天我们就来制作一个广告轮播功能;需完成效果:
1,广告内容自动轮播
2,左右切换展示广告
3,手动选择指定广告
主要功能点:动态面板一 准备工作
1,新建4个页面,作为点击广告后的跳转链接页面;(只作为一个跳转的地址)2,准备4张图片,用作首页的广告轮播素材

二 自动轮播
需实现效果:在网页的固定位置,每隔固定时间,自动切换当前位置显示的图片;操作步骤:1,在index页面中拉入一个“动态面板”原件,命名为“ad”;对“ad”新增3个面板状态,并将4个面板状态依次命名为“ad1”“ad2”“ad3”“ad4”;


2,剪切一张我们事先准备好的图片,双击动态面板“ad”的状态1“ad1”,打开“ad1”的页面;复制图片;我们会发现,复制的图片与我们的动态面板大小不匹配,导致在动态面板中,只能显示一部分的图片;我们只需要选中动态面板“ad”,在属性中勾选“自动调整为内容尺寸”就可以解决这个问题;

3,重复第二步动作,我们将其他三个面板状态(ad2,ad3,ad4)依次放入事先准备好的图片;4,设置自动轮换,点击页面空白处(或按Esc键),以显示页面属性;双击属性中的“页面载入时”,打开页面载入时的交互设置界面;

5,选择“设置面板状态”,在右侧选中动态面板“ad”;选择状态中选择“next”,以实现自动切换下一个面板状态;勾选“向后循环”,可以实现循环动作;勾选“循环间隔”,并将轮播时间修改为“3000ms”。即每隔2秒,会自动切换为后一个广告;



三 手动切换左右状态
需实现效果:鼠标移入广告图片区域时,停止自动轮播,停在当前的广告图片上;同时在左右两侧显示按钮,点击左侧按钮,可以手动切换上一个广告图片,点击右侧按钮,可以手动切换下一个广告图片;鼠标移出广告区域,恢复自动轮播效果;操作步骤:1,在动态面板“ad”上,放置两个图片,分别命名为“left”“right”,用以控制广告切换的操作;

2,设置图片“left”“right”默认为“隐藏状态;

3,需要实现,点击“left”图片时,广告切换为上一个广告:选中“left”,双击添加事件“鼠标单击时”;
4,添加“设置面板状态”,选择“ad”,设置状态为“previous”,勾选“向前循环”;点击确认,完成;

5,类似的操作在“right”上再作一遍,状态设置为“next”,并勾选“向后循环”;
6,要实现鼠标移入广告区域时,暂停自动轮播,同时将隐藏的两个控制按钮“left”“right”显示出来;选中动态面板“ad”,选择事件“鼠标移入时”(默认的交互事件中没有,需要点击“更多事件”


7,添加“设置面板状态”,选择“ad”,将状态设置为“停止循环”

8,添加“显示”,选择“left”“right”,设置为“显示”

9,要实现鼠标移出广告区域时,恢复自动轮播,同时隐藏的两个控制按钮“left”“right”;高能预警,此处有坑,按常规做法,我们会按下面步骤操作:选中动态面板“ad”,选择事件“鼠标移出时”(默认的交互事件中没有,需要点击“更多事件”添加“设置面板状态”,选中“ad”,重新设置自动轮播的效果,即将状态设为“next”,勾选“向后循环”,勾选循环间隔,时间设为“3000ms”;添加“隐藏”,选中“left”“right”,勾选“隐藏”;


看似效果已经实现,而实际预览的时候,却发现鼠标移入的时候,两个小图片正常显示了,广告也不自动切换了,可是当我们点击“left”或“right”的时候,广告页却没按设想的一样切换为新的广告图片;10,细心的朋友可能发现了,当我们点上“left”或“right”的时候,小图标居然是看不见的;没错,其实根本原因正是出在了这边;当我们移入鼠标时,“left”显示,可是当你想要去点击“left”的时候,势必会将鼠标移入“left”,由于“left”在动态面板“ad”的上方,覆盖了“ad”,移上“left”的时候,就是移出“ad”的时候,即触发了之前的“移出鼠标时”的交互,将“left”变为了隐藏;然后程序进入了死循环;要解决这个问题,我们只需要在“鼠标移出时”的交互中增加一个小小的条件即可;如上所说,既然移上“left”或者“right”或陷入死循环,那么我们在执行“鼠标移出时”的操作时,排除掉这个情况就可以了;对“鼠标移出时”的交互添加条件,对指针位置进行判断,当指针同时满足“未接触”“left”和“未接触”“right”时,执行移出交互,即可实现我们的目的;




四 手动切换任意状态
需实现效果:鼠标移入广告图片区域时,停止自动轮播,停在当前的广告图片上;在下方显示控制按钮,点击对应图标,可以直接切换显示对应的广告图片;鼠标移出广告区域,恢复自动轮播效果操作步骤:1,放置一个图标,作为广告1的控制按钮,命名为ad1;
2,设置“ad1”的“选中”状态,单击“选中”,然后选择“填充颜色”,这里我们就选择蓝色;这样我们的“ad1”就有了2个状态,灰色的非选中状态,蓝色的选中状态;后面我们会将其与广告页的显示图片进行对应,当广告显示广告1的时候,我们的图片“ad1”显示蓝色,如果不是广告1,则显示灰色;点击确认;

3,给图片ad1设置交互,当我们点击“ad1”的时候,需要广告也对应显示第一个图片;双击“ad1”属性的“鼠标单击时”,添加“设置面板状态”,将“ad”的状态选择为“ad1”,点击确认;
4,复制3个图片“ad1”,分别命名为“ad2”“ad3”“ad4”,重复上述的2/3两步,分别对应各自的动态面板的状态;

5,需要将动态面板的4个状态和4个图片空间的选中的状态分别对应;当显示第一个广告的时候,图片“ad1”为选中状态,其他为未选中;当显示第二个广告的时候,图片“ad2”为选中状态,其他为未选中;选中动态面板“ad”,添加交换“改变状态时”

6,“添加条件”当动态面板状态为“ad1”时,点确认

7,选择“选中”,设置“ad1”状态为“true”

8,选择“取消选中”,设置“ad2”“ad3”“ad4”状态为“false”;点击确认,我们就完成了第一个广告的对应交互;

9,重复步骤5-8,分别设置第二/第三/第四个广告的页面交互;

10,此时我们点击预览,广告页下方的图片状态已各自对应,不过还有一个小瑕疵,这个效果都是在动态面板状态改变的时候才起作用;我们刚进页面的时候,没有触发动态面板改变状态的交互,4个小图片都是非选中状态;这边我们只需要将图片“ad1”的默认状态设为“选中”即可;最后将4个小图片放置在广告页下方,完整版的广告轮播功能就大功告成了。

原型下载链接:https://pan.baidu.com/s/1JtejTgScRbXTWY_36nVfOQ
提取码:xz0v