2011-05-11 19 views
0

我有一个旋转木马滚动浏览幻灯片。旋转木马具有比其下面的内容具有更高z-索引的叠加层。有些幻灯片包含链接,有些则不包含链接。我的jQuery获取幻灯片链接的href,并在单击时将覆盖链接指向该href。是否可以在不刷新页面的情况下更改元素上的光标?

[Slide 1: <p>] [Slide 2: <p> <a>] 

我的问题是,我想光标更改为指示当幻灯片包含一个链接,光标自动在没有链接。 (当用户在旋转木马上盘旋时,变化无关紧要,因为在这种情况下,幻灯片不会自动移动)

我已经有一个点击功能,可以在任何地方停止叠加连接没有链接,但是光标当前由CSS控制。我尝试使用addClass,但这不起作用。

实际上是否可以使用jQuery和CSS在同一个div上更改光标悬停状态?

这是一块功能,从如果没有链接做任何停止的叠加:

$('#carousel_overlay').click(function() { 
    slideLinkTarget = promoSlides.eq(activeSlideIndex).find('a').attr('href'); 
    if (!slideLinkTarget == '') {  
     window.open(slideLinkTarget); 
     ('#carousel_overlay').addClass('link'); 
    } else { 
     return false; 
     $('#carousel_overlay').removeClass('link');   
    }    
}); 

(我知道这是一个点击功能,如果我想光标将无法正常工作悬停改变)

#carousel_overlay{cursor: auto;} 
#carousel_overlay.link{cursor: pointer;} 

干杯

+0

你能告诉我们当前的JS代码来改变指针吗? – 2011-05-11 14:10:02

+0

@onteria_新增 – theorise 2011-05-11 14:18:22

回答

2

如果条件(本例中为href =!=“”)匹配,则可以将悬停脚本添加到叠加层,并将指针设置为结束。

$(function() { 
    $('overlay').hover(function() { 
     // the selector should match your link 
     if ($('image').attr('href') != "") { 
     $(this).css('cursor', 'pointer'); 
     } 
    }, 
    function() { 
     $(this).css('cursor', 'default'); 
    }); 
}); 

也许有复制粘贴&这不会工作,因为我不知道你的HTML。

+0

甚至没有跨过我的脑海,多么明显,非常感谢! – theorise 2011-05-11 14:19:03

2

我使用类似

.clickable { cursor :pointer !important; } 

和我使用addclass的元素,我想要指针,然后使用removeClass把它拿出来。

你的情况,你可以这样做(在你的CSS)

.clickable a { cursor :pointer !important; } 

,然后使用jQuery来那类添加到你需要的任何元素,它将使一个指针移到标签时

相关问题