Ich habe die folgende Funktion:eq mit mehreren Einträgen Filterverhalten
function blinkIn() {
setTimeout(function() {
$("#map area").eq(1).trigger("mouseenter.mapify").trigger("focus.mapify").trigger("touchend.mapify");
$(".mapify-svg polygon").eq(3).css("stroke", "#FFEB3B");
blinkOut();
}, 3000);
}
function blinkOut() {
setTimeout(function() {
$("#map area").eq(1).trigger('mouseout.mapify');
$(".mapify-svg polygon").eq(1).css("stroke", "");
blinkIn();
}, 2000);
}
blinkIn();
Von allen eq
Fragen, die ich fand dieses das ähnlichste auf meine Frage zu sein scheint:
How to write a jQuery selector with multiple :eq's in single expression?
Ich verstehe, dass die Verwendung eines Arrays ist nicht die beste Lösung Geschwindigkeit, so versuchte ich mit filter(':eq(0), :eq(1), :eq(2)')
Meine n ew Code sieht wie folgt aus:
function blinkIn() {
setTimeout(function() {
$("#map area").filter(':eq(0), :eq(1), :eq(2)').trigger("mouseenter.mapify").trigger("focus.mapify").trigger("touchend.mapify");
$(".mapify-svg polygon").filter(':eq(0), :eq(1), :eq(2)').css("stroke", "#FFEB3B");
blinkOut();
}, 3000);
}
function blinkOut() {
setTimeout(function() {
$("#map area").filter(':eq(0), :eq(1), :eq(2)').trigger('mouseout.mapify');
$(".mapify-svg polygon").filter(':eq(0), :eq(1), :eq(2)').css("stroke", "");
blinkIn();
}, 2000);
}
blinkIn();
Es scheint zu funktionieren, aber es hat nicht mehr die gleiche Wirkung, die sie verwendet zu haben, als ich eine einzige eq
aufrufen. Es hatte eine Deckkraft für den Strich, der nicht mehr angewendet wurde.
Sie können das Endergebnis hier überprüfen: https://sporedev.ro/pleiade/index.html (die drei blinkenden Statuen auf der linken Seite).
Ich verwende Mapify https://github.com/etienne-martin/Mapify, um Hervorhebung auf die Bildkartenbereiche anzuwenden.
Meine Vermutung ist, dass es etwas damit zu tun hat filter
. Was macht filter
eigentlich und wie kann ich dieses Problem lösen?
Was Verhalten sind Sie wollen .... sie haben blinken in/out nacheinander hintereinander? – charlietfl
Ich möchte, dass sie auf die gleiche Weise blinken wie jetzt, nur dass, bevor ich den Filter hinzugefügt habe, sie 0,7 Deckkraft hatten, damit diese Linien nicht so rau aussehen würden. Aus irgendeinem Grund, wenn ich den Code so belasse, wie er war, berücksichtigt er diese Opazität, nachdem ich den Filter verwendet habe. – SporeDev
Haben Sie einen Link, damit wir den ursprünglichen Code mit 0.7 Opazität sehen können? – EhsanT