Ich versuche, einen Curtain-Effekt zu erzeugen, wenn die Funktion ausgeführt wird, während der Vorhang unten ist, geht es nach oben und umgekehrt. Heres was ich bisher habe.jQuery .animate() background image conditional statement
HTML
<div id="curtain"></div>
CSS
#curtain {
width: 791px;
height: 449px;
background: url(/assets/curtain.png) no-repeat;
position: absolute;
top: 111px;
left: 265px;
z-index: 2;
overflow: hidden;
}
jQuery
function curtain() {
if ($('#curtain').css('backgroundPosition') === '0 0') {
$(this).stop().animate(
{backgroundPosition:"(0 -250px)"},
{duration:500})
} else {
$('#curtain').stop().animate(
{backgroundPosition:"(0 0)"},
{duration:500})
}
}
$("#wall-right").click(function() {
$("#frame").attr('src', 'http://player.vimeo.com/video/27748543');
curtain();
});
Es geschieht nichts, und ich nicht alle Fehler in der Konsole erhalten. Irgendwelche Ideen, warum das nicht funktioniert?
Wie nennt man 'curtain()'? Auch der zweite "# curtain" -Selektor enthält keine Anführungszeichen. –
ursprüngliche Frage bearbeitet, um dies zu reflektieren – cl0udc0ntr0l
Einige Kommentare: in Chrom, $ ('# Vorhang'). Css ('Hintergrundposition') ist "0% 0%" nicht "0 0". Auch das $ (this) in Ihrem ersten if() Zweig wird nicht zurück in das Curtain-Element aufgelöst. – Dave