hallo…hätte da mal ein ganz einfaches anliegen. mein vorhaben ist, dass meine images, beim klicken, farbig dargestellt werden. in den desktopansicht geschieht es durch hovern.
nun folgendes problem: wenn ich auf eines meiner logos klicke, werden alle farbig. möchte aber, dass nur das angeklickte bunt wird. irgendwo muss in mein script, ein (this), vermute ich?!
oh…das war ja simple. vielen dank. nun hab ich aber noch die sorge, dass, ein logo, was durch klicken farbig wird, wieder grau werden soll, wenn ich ein anderes anklicke?!
Besser wäre es wenn du mit Klassen statt inline-styles arbeiten würdest.
Dann könntest du auch Media Queries verwenden statt Pixelangaben im JS zu handeln.
klingt spannend…aber wie müsste dann die komplette funktion aussehen? und ich arbeite ja mit media queries. aber wenn ich jetzt eine klasse „grayscale“ anlege, woher weiß js, dass es ab 640px, die logos nicht mehr durch klicken farbig machen soll?
In dem du einfach die entsprechende Klasse erst in der Media Query definierst:
@media all and (max-width: 640px) {
.grayscale {
filter:grayscale(100%);
}
}
Die Klasse wird dann zwar immer hinzugefügt, hat jedoch erst bei <= 640 Pixel eine Auswirkung.
Edit: Habe gerade bemerkt dass du ja standardmäßig alles grau haben willst und erst beim Klick farbig. Hatte es jetzt umgekehrt beschrieben. Daher wäre der richtige Weg natürlich eine Klasse .colorize mit grayscale(0). Vom Prinzip bleibt es aber das gleiche.
es tut sich nichts. hab auch sicher nicht alles korrekt vergeben. is mir zwar schon etwas peinlich, die website zu zeigen. es soll aber auch nichts davon so bleiben, wie man es jetzt sieht. fang ja grade erst mit der umsetzung an. an den header und der navi wollt ich mich dranmachen, wenn das mit den logos klappt. vielleicht hast du ja noch 'ne idee, wie ich die logos alle vertikal zentriert bekomme, ohne sie als background-image einfügen zu müssen?!
Ohne zu wissen, was genau nicht funktioniert, nur ins blaue geraten :rolleyes:
Wenn da mal nicht das jQuery-Script sich im Dokumentheader befindet, und nun entgegen dem eingangs gezeigten Script[SIZE=3] [SIZE=4]$(document).ready(function(){ … }[/SIZE][/SIZE] fehlt.
Besser die Scripts immer am Dokumentende unmittelbar vor aufrufen.
Ja immer nach unten, dann kann man sich .ready() sparen, aber daran liegt es jetzt nicht.
Ich bin von einer anderen HTML Struktur ausgegangen.
$(".drei-spaltig img")
statt
$(this).siblings()
dann passt es vom JS her. Der Rest ist CSS.
Problem ist dass „.drei-spaltig img“ höhere Priorität hat als nur „.colorize“ - in den Developer Tools ganz einfach nachzuvollziehen. Deshalb „.drei-spaltig .colorize“.
ich wer bekloppt…es funktioniert. vielen dank. inwieweit darf ich deine hilfbereitschaft denn strapazieren? hätte gerne noch, dass jedes logo, in seinem kästchen, vertikal zentriert ist? gibs da ne einfache lösung für?