Ich habe ein einfaches Skript, das grundsätzlich die Deckkraftelemente ungeordneter Listenelemente auf 0,1 anpasst, wenn sie nicht mit der Auswahl übereinstimmen.
$("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;
});
Wie kann ich dies hinzufügen oder ändern, damit Sie die Deckkraftelemente bei 0,1 nicht anklicken können?
Antworten:
2 für die Antwort № 1Benutze die Zeigerereignisse CSS-Eigenschaft.
$("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;
});
Hinweis: pointer-events
für HTML-Elemente wird nur in Chrome 2.0+, Firefox 3.6+ und Safari 4.0+ unterstützt, in IE und Opera nicht.
0 für die Antwort № 2
Vielleicht fügen Sie einfach eine Klasse hinzu, wenn Sie die Deckkraft einstellen
$(".portfolioThumbs li.all").animate({opacity:0.1}).addClass("addedClass");
und dann
$(".portfolioThumbs li.addedClass").click(function(e) {
e.preventDefault();
});
oder Sie können das Klicken einfach verhindern, ohne zusätzliche Klassen hinzuzufügen (da diese über eine verfügen).
$(".portfolioThumbs li.all").click(function(e) {
e.preventDefault();
});
Übrigens, warum möchten Sie verhindern, dass auf die li-Elemente geklickt wird. Befindet sich in diesen li ein Ankertag, dessen Klick Sie verhindern möchten?