我有一个简单的脚本,如果它们与选择不匹配,基本上将无序列表项的不透明度项调整为0.1。
$('ul.filter li a').click(function() {
var getvalue = $(this).attr('rel');
$('.portfolioThumbs li.all').animate({opacity:0.1});
$('.portfolioThumbs li.'+getvalue).animate({opacity:1});
return false;
});
如何添加或修改此项,以便那些不能点击的不透明度项为0.1?
答案 0 :(得分:2)
使用pointer-events css属性。
$('ul.filter li a').click(function() {
var getvalue = $(this).attr('rel');
$('.portfolioThumbs li.all').animate({opacity:0.1}).css('pointer-events', 'none');
$('.portfolioThumbs li.'+getvalue).animate({opacity:1}).css('pointer-events', 'auto');;
return false;
});
注意:HTML元素的pointer-events
仅支持Chrome 2.0 +,Firefox 3.6+和Safari 4.0+,IE和Opera不支持。
答案 1 :(得分:0)
也许只需在设置不透明度时添加一个类
$('.portfolioThumbs li.all').animate({opacity:0.1}).addClass('addedClass');
然后
$('.portfolioThumbs li.addedClass').click(function(e) {
e.preventDefault();
});
或者你可以简单地阻止点击而不添加额外的类(因为他们有一个)
$('.portfolioThumbs li.all').click(function(e) {
e.preventDefault();
});
BTW为什么你要阻止点击li项目..这些li中是否有一个锚标记,你要阻止点击?