Domanda

Sto dando una pugnalata alle dichiarazioni if ??else, non sono sicuro di scriverlo correttamente & # 8230; Cercare di ottenerlo in modo che se la dimensione popupHeight è più grande della dimensione WindowHeight, la posizionerebbe nella parte superiore della finestra + 10px & # 8230;

$("#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;
        }
});
È stato utile?

Soluzione

Sbarazzati del punto e virgola dopo scrollTop () e mettilo alla fine della riga-

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

Dovrebbe apparire-

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

Anche la tua funzione CSS deve essere riformattata, dovrebbe piacere quanto sopra.

Altri suggerimenti

Non ho mai usato jQuery prima, quindi potrei sbagliarmi, ma i punti e virgola in questa riga non sono nel posto sbagliato?

container.css{("top": $(window).scrollTop(); + 10 + "px") 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top