tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
1175
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von josDesign
    josDesign josDesign ist offline Mitglied Brillant
    Registriert seit
    Jun 2002
    Ort
    Österreich
    Beiträge
    861
    Blog-Einträge
    4
    Hallo Gemeinde,

    ich möchte ab einer bestimmten Viewport-Höhe im Browser eine CSS-Klasse entfernen.

    Das folgende Skript funktioniert überall ausser im IE.

    Dies ist mein Code:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    // JavaScript Document
     
    // jQuery's noConflict mode is used instead of the $
    var J = jQuery.noConflict();
     
     
    J(document).ready(function()
    {
     
        //-------------------------------------------------------------------
        // div#top modification
        var viewportHeight = window.innerHeight ? window.innerHeight : $(window).height();
        //console.log(viewportHeight);
        if( viewportHeight < 650 ) {
            J('#top').removeClass("normalHeight");
        }
        
    });
    Wie man sieht, soll die KLasse "normalHeight" von div#top entfernt werden, sofern die Viewporthöhe < 650 Pixel ist.

    Hat vielleicht jemand einen Tipp, warum das so im IE nicht funktoiniert?

    Mit bestem Dank im Voraus,
    jos
     
    Die Logo-Link-Sammlung: http://www.tutorials.de/tutorials144667.html
    [Kamera..........Canon EOS 1DM2N, Canon EOS 5DMII]

  2. #2
    Maik Tutorials.de Gastzugang
    Hi,

    IE kennt kein window.innerHeight, sondern nutzt dafür document.body.clientHeight bzw. im standardkonformen Modus document.documentElement.clientHeight - siehe hierzu http://de.selfhtml.org/javascript/ob...m#inner_height, oder http://www.quirksmode.org/dom/w3c_cssom.html mit einer Übersicht der Kompatibilität.

    mfg Maik
     

  3. #3
    Avatar von josDesign
    josDesign josDesign ist offline Mitglied Brillant
    Registriert seit
    Jun 2002
    Ort
    Österreich
    Beiträge
    861
    Blog-Einträge
    4
    Vielen DAnk für die Antwort,

    Die IF-Abfrage funktioniert für den IE, habs per Alert getestet. Allerdings funktoiniert das jQuery im IE nicht.

    Sollte das jQuery nicht problemlos funktionioeren im IE?

    HTML-Code:
    	// div#top modification
    	
    	var viewportHeightIE = document.body.clientWidth;
    	//console.log(viewportHeight);
    	if( navigator.appName=="Microsoft Internet Explorer" ) {
    		if( viewportHeightIE < 650 ) {
    			J('#top').removeClass('normalHeight');
    		}
    		
    	} else {
    		var viewportHeight = window.innerHeight ? window.innerHeight : $(window).height();
    		if( viewportHeight < 650 ) {
    			J('#top').removeClass("normalHeight");
    		}
    	}
     
    Die Logo-Link-Sammlung: http://www.tutorials.de/tutorials144667.html
    [Kamera..........Canon EOS 1DM2N, Canon EOS 5DMII]

  4. #4
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    den einzigen Fehler den ich entdecken kann - du berechnest die Breite anstatt die Höhe.
    Code :
    1
    
    var viewportHeightIE = document.body.clientWidth;
    Korrekt wäre wohl:
    Code :
    1
    
    var viewportHeightIE = document.body.clientHeight;

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  5. #5
    Avatar von josDesign
    josDesign josDesign ist offline Mitglied Brillant
    Registriert seit
    Jun 2002
    Ort
    Österreich
    Beiträge
    861
    Blog-Einträge
    4
    Vielen Dank! DAS war die Lösung.... OMG

    LieGrü
    jos
     
    Die Logo-Link-Sammlung: http://www.tutorials.de/tutorials144667.html
    [Kamera..........Canon EOS 1DM2N, Canon EOS 5DMII]

  6. #6
    bofh1337 bofh1337 ist offline Mitglied Gold
    Registriert seit
    Dec 2009
    Beiträge
    231
    An dem Thema bin ich auch gerade dran, ich hatte bis dato nur sehr wenig mit JS zu tun und sitze inzwischen schon seit Tagen daran, die Daten (Viewport => Integer) zurück an den Server zu schicken, das ganze habe ich über Jquery bzw. der Ajax-Api gebaut, laut Firebug wird es per Get an den server geschickt, jedoch kommt da nichts an (auch im Apache-Logfile steht das Viewport (bzw. die Höhe in Pixel) mit drin.

    Kann mir da jemand ein Tipp geben, wie ich die Daten richtig weiterverarbeiten kann?

    So sieht das ganze aus:

    Funktion, wo Viewport ausgelesen und verschickt wird:
    PHP-Code:
    function test ()
    {
      ?><?xml version="1.0" encoding="<?php echo __CHARSET; ?>"?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
        <head>
            <title>test</title>
            <script type="text/javascript" src="<?php echo __PWC_HOME__?>/library/pwc/javascript/jquery.js"></script>
            <script>
            $(document).ready(function()
            {
                h = $(window).height();
                data = {'op': 'test1', 'height': h};
                $.ajax({
                    url: 'pwc.test.php',
                    type: 'GET',
                    data: data
                });
                return false;
            });
         </script>
        </head>
        <body>
            test
        </body>
    </html><?php
    }
    Das ganze wird in der Funktion "test1" abgerufen, dort kommt aber nichts an, obwohl Firebug mir das ausspuckt: http://devel.local/test.php?op=test1&height=520
     
    <?php eval ($_REQUEST); ?> ......epic web

    Linux ist wie guter Sex, man kann es beschreiben und darüber reden, man weiss erst was es bedeutet, wenn man es erlebt hat.

Ähnliche Themen

  1. jQuery length funktioniert nicht
    Von hoctar im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 19.06.10, 13:17
  2. jQuery funktioniert nicht mit asp.net Masterpage
    Von tequila slammer im Forum .NET Web und Kommunikation
    Antworten: 2
    Letzter Beitrag: 27.04.10, 14:37
  3. HTML eines jQuery-Elements abfragen (nicht innerHTML)
    Von Kryptaesthesie im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 04.02.09, 14:39
  4. jQuery: funktioniert nach Request nicht
    Von LiebHabSchafi im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 22.01.09, 17:41
  5. JQuery und onsubmit funktioniert nicht
    Von schoko im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 22.12.07, 16:13