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

Script nur bei Auflösung XY ausführen

rantanplan2000

Mitglied
hey Leute,

ich habe ein Problem mit meinem Script.
Ich möchte, dass es nur ab min 991px Breite seine Arbeit macht.
Das merkwürdige ist, auf dem Desktop-Browser geht es. Also wenn ich das Fenster klein ziehe und F5 drücke, passiert nichts. Jett habe ich es auf dem Handy getestet (iphone 4s) und das JS macht fröhlich seinen Job, welchen er ja eigentlich nicht machen soll .... Bitte um Hilfe:


Code:
jQuery(window).load(function() {
   
    var windowHeight, windowScrollPosTop, windowScrollPosBottom = 0;
 
    function calcScrollValues() {
        windowHeight = jQuery(window).height();
        windowScrollPosTop = jQuery(window).scrollTop();
        windowScrollPosBottom = windowHeight + windowScrollPosTop;
    }
   
    jQuery.fn.revealOnScroll = function(direction, speed) {
        return this.each(function() {
           
            var objectOffset = jQuery(this).offset();
            var objectOffsetTop = objectOffset.top;
           
            if (!jQuery(this).hasClass("hiddenop")) {
               
                if (direction == "right") {
                    jQuery(this).css({
                        "opacity"    : 0,
                        "right"        : "700px",
                        "position"    : "relative"
                    });
                   
                } else {
                    jQuery(this).css({
                        "opacity"    : 0,
                        "right"        : "-700px",
                        "position"    : "relative"
                    });
                   
                }
               
                jQuery(this).addClass("hiddenop");   
            }
           
            // reveal einmalig
            if (!jQuery(this).hasClass("animation-complete")) {
               
                if (windowScrollPosBottom > objectOffsetTop) {
                    jQuery(this).animate({"opacity" : 1, "right" : 0}, speed).addClass("animation-complete");
                }

            }
           
        });
    } // ende revealOnScroll function

    // effekte
   
        var browserWidth = $(window).width(); // prüfe screenbreite
        if ((browserWidth) > '991'){ // screen größer als 900px
     
        function revealCommands() {
        /* jQuery(".pic022").revealOnScroll("right", 1100);
        jQuery(".pic023").revealOnScroll("left", 1100); */
        jQuery(".x001").revealOnScroll("right", 1100);
        jQuery(".x002").revealOnScroll("right", 900);
        jQuery(".x003").revealOnScroll("right", 700);
       
         
    } // ende reveal commands
    } // ende screen größer als 900px
   
    // run the following on initial page load
    calcScrollValues();
    revealCommands();
   
    // run the following on every scroll event
    jQuery(window).scroll(function() {
        calcScrollValues()
        revealCommands();
    }); // ende on scroll
   
});
 
Werbung:
Klingt für mich als wolltest du responsive Arbeiten arbeiten. Ich setze dafür immer enquire.js ein. Beim Breakpoint Wechsel setzt man sich dann eine globale Variable, welche sagt in welchem Breakpoint man ist (Desktop, Tablet, Phone). Dann brauche ich diese Variable nur in meinen Skripten abzufragen.

http://wicky.nillia.ms/enquire.js/
 
Werbung:
Zurück
Oben