• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Jquery Code wird nur einmal ausgeführt

derises

Mitglied
Hallo liebe Community,
ich habe einen JQuery/Javascript Code der so funktioniert/funktionieren soll:

Man klickt auf einen Pfeil in der Navigation -> Ein Div wird eingeblendet und es wird zu diesem gescrollt.
Nun erscheint ein Vollbild-Bild wo sich wieder ein Button befindet.
Wenn man auf diesen klickt, erscheint ein weiters Bild unter dem ersten und es scrollt zum zweiten Bild.

Ebenso sollen die anderen Elemente wie Navigation ausgeblendet werden.

Das alles funktioniert bei mir ohne Probleme, ein kleines Problem gibt es da aber dann doch.
Der ganze Code wird nur einmal also beim ersten klick ausgeführt, nicht aber beim zweiten.
Stimmt so aber nicht ganz, ich habe das getestet, der klick wird ausgeführt und auch seitens dem JQuery Code als solchen bei jedem klick erkannt, lediglich der Scroll Effekt wird nur einmal ausgeführt.

Die Lösung dass dies funktioniert ist nach dem animate ein return false; reinzusetzen, dann klappt das aber alles was unter dem return false; steht wird dann nicht mehr ausgeführt.

Könnte mir bitte jemand helfen?

Danke im voraus.

Code:
$(document).ready(function() {

$("#scrolldown").live("click", function(event){

var div = document.getElementById('designerprofil1');
div.style.display = "block";


 $('html, body').animate({
        scrollTop: $("#profile1").offset().top
    }, 2000, function() {

});


    });


     }); 

$(document).ready(function(e) {

//$("#scrolldown").live("click", function(){
$("#scrolldown").live("click", function(e) {

if (true) {  // for testing, always go through the failure path
      var height3 = $('#content').height()-1000;


$(window).scroll(function() {
    if ($(this).scrollTop()< height3)
     {
        $('#profile1').fadeOut();
//$('#menuDesignerProfile').fadeOut();
$('#first').fadeIn();
$('#second').fadeIn();

     } else {
$('#profile1').fadeIn();
$('#first').fadeOut();
$('#second').fadeOut();



var scrolltop=$(window).scrollTop();
var contentheight = $('#content').height();
var imgheight = $('#profile1').height();
var height = contentheight+imgheight;
console.log(scrolltop);
if (scrolltop>contentheight-50 && scrolltop<height-50) {
$('#menuDesignerProfile').fadeIn();
$('#menuDesignerProfile').css( "display", "block" );
} else {
$('#menuDesignerProfile').fadeOut();
$('#menuDesignerProfile').css( "display", "none" );

}

     }

});
alert('false');
      e.preventDefault();
  e.stopPropagation();

    } else {
      return true;
    }




    });


     });




function showProfile2() {
var div = document.getElementById('designerprofil2');
div.style.display = "block";
$('html, body').animate({
        scrollTop: $("#profile2").offset().top
    }, 2000);

var heightcontent2 = $('#content').width();
var heightprofile1 = $('#profile1').width();
var height1 = heightcontent2+heightprofile1-1200;


$(window).scroll(function() {
    if ($(this).scrollTop()< height1)
     {
        $('#profile2').fadeOut();

     } else  {

      $('#profile2').fadeIn();


var scrolltop1=$(window).scrollTop();
var contentheight1 = $('#content').height();
var imgheight1 = $('#profile1').height();
var imgheight2 = $('#profile2').height();
var heightall1 = contentheight1+imgheight1+imgheight2;

if (scrolltop1>contentheight1+imgheight2-50 && scrolltop1<heightall1-50) {
$('#menuDesignerProfile2').fadeIn();
hideNews();
$('#menuDesignerProfile2').css( "display", "block" );
} else {
$('#menuDesignerProfile2').fadeOut();

}

     }
});


}
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben