2009-11-10 67 views
1

这里希望这是有道理的。当3个特定元素可见时触发jQuery事件

我在http://joshuacody.net/jc3/

我期待在一点点的互动样式,以显示我的作品,使用jQuery测试我的个人网站的一个新版本。

你可以看到每个图像都是不匹配的,但它有一个旋转器。你可以旋转每个图像以排成三列。当所有三个人排队时,我想淡出一个div来解释那个项目是什么。

我正在使用该插件来旋转我的图像(http://www.malsup.com/jquery/cycle/),如果这有帮助。

我是jQuery的新手,我只是一个理论上如何做到这一点的头发。有任何想法吗?

回答

1

我去你的网站阅读你的问题之前并不亚于我喜欢与旋转功能,排队玩的图像,作为一个接口,真正去某个地方,这是不明显的不读你的解释。

您需要在演示中使用事件或回调describedafter:参数是您真正需要的。我将首先填写您的alt属性,并对所有匹配的插槽图片进行相同的描述。然后后功能会看起来像:

$('#slot_1').cycle({ 
    fx: 'scrollVert', 
    next: '.scroll_up_1', 
    prev: '.scroll_down_1', 
    after: onAfter, 
    timeout: 0 
}); // Duplicate the after param on all 3 slots. 
function onAfter(){ 
    var alt = $('#slot_1 img:visible').attr('alt'); 
    if (alt == $('#slot_2 img:visible').attr('alt') && 
     alt == $('#slot_3 img:visible').attr('alt')) { 
     switch (alt) { 
     case 'Critical Reason?': 
      $('#linkToWork1').click(); //a hidden link? 
     break; 
     case 'CFCC Labs': 
      document.location = 'http://url/to/work/2'; 
     break; 
     case 'Tailgate': 
      $('#formActionWork3').submit(); 
     break; 
     default: 
     //oops. 
     } 
    } 
} 

注意,我把三种方式实际更改的页面,你可能会想挑选自己喜欢的。

+0

谢谢diamblin。你认为展示其中一对箭头足以让用户知道修补它吗?也许在页面加载中淡化这些内容?我应该放弃它吗?不管我选择如何处理它,我仍然喜欢为了理解而探究问题。 – 2009-11-10 06:13:00

+0

我不会放弃它,但也许它可以加载与图像对齐的页面,然后调用'$('。scroll_up_2')。click()'和$('。scroll_down_3')。click ()'放在'$(document).ready'函数的末尾。将“悬停和旋转”改为“排列图像以查看详细信息”可能会起作用,或者更改“onAction”以淡入用户点击的大型链接标题,并使用“onBefore”淡出出来。也许甚至添加了显示不同部分的顶部和底部的1/2步骤的图像。 – dlamblin 2009-11-10 06:47:02

+0

伟大的想法。我有一些素描和设计来实现这一点,但我会尽力在明天完成。 您的解决方案在理论上看起来不错,我一定会很感激地回到这里,并点击勾号和向上箭头。 – 2009-11-10 07:35:49

相关问题