Frage

Ich gebe das, wenn sonst Aussagen einen Stich, nicht sicher, ob ich das richtig schreibe ... Den Versuch, es zu bekommen, so dass, wenn die popupHeight Dimension größer als die window Dimension ist, dann wäre es an die Spitze des Darstellungs zu positionieren + 10px ...

$("#data").load("/content/" + htmlName + ".html", null, function(){
    //Set Variables
    var container = $(".container");
    var project = $(".project");
    var popupWidth = container.find(".project img:first").width();
    var popupHeight = container.find(".project img:first").height()+35;
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;
    var x = ($(window).width() / 2 - popupWidth / 2) + $(window).scrollLeft();
    var y = ($(window).height() / 2 - popupHeight / 2) + $(window).scrollTop();

    //Set popup dimensions
    container.css("width" , popupWidth);
    container.css("height" , popupHeight);

    //Set popup CSS
    container.css({"position": "absolute", "left": x + "px", "z-index": "2" });
    project.css({"width": (popupWidth), "height": (popupHeight) });

    //Determine Position
    if(popupHeight>windowHeight) {
        container.css{("top": $(window).scrollTop(); + 10 + "px") 
        }else{
        container.css({"top": y + "px"});
        return;
        }
});
War es hilfreich?

Lösung

Befreien Sie sich von dem Semikolon nach scrollTop () und legt es am Ende der Leitung -

container.css{("top": $(window).scrollTop(); + 10 + "px")

Sollte aussehen -

container.css({"top": $(window).scrollTop() + 10 + "px"});

Ihre CSS-Funktion muss auch neu formatiert werden, sollten die oben mag.

Andere Tipps

Ich habe jQuery noch nie benutzt, so dass ich könnte falsch sein, aber es ist nicht das Semikolon in dieser Linie an der falschen Stelle?

container.css{("top": $(window).scrollTop(); + 10 + "px") 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top