Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: FloatMenu nie działa pod IE8
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Mega_88
Hej Wam !

Mam problem z FloatMenu, które nie działa mi tylko pod przeglądarką Internet Explorer 8. Wszystkie inne takie jak Internet Explorer 9, Opera, FF, Chrome, Safari, Mozilla poprawnie to "mielą", a ten zacofany IE8 nie chce tego ruszyć. Pytanie tylko czemu nie chce mi to działać pod IE 8 ? Może ktoś wie o co chodzi tej przeglądarce arrowheadsmiley.png Zauważyłem, że gryzie mi się to z pierwszą cześcią skryptu (podkreślone), ale co tam jest źle skoro pod innymi działa ?

p.s - po usunięciu częsci podkreślonej FloatMenu zaczyna działać pod IE8.

Kod JS + inne rzeczy wygląda tak:

  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. $('.fancybox').fancybox();
  4. $('.button1, .button2, .button3, .button4, .button5').stop().animate({"backgroundPosition":"0 -100"},1350);
  5. $('.button1, .button2, .button3, .button4, .button5').hover(function() {
  6. $(this).stop().animate({"backgroundPosition":"0 0"},500);
  7. },function() {
  8. $(this).stop().animate({"backgroundPosition":"0 -100"},200);
  9. });
  10. $('.button5, .button6, .button7').stop().animate({"backgroundPosition":"0 -5"},350);
  11. $('.button5, .button6, .button7').hover(function() {
  12. $(this).stop().animate({"backgroundPosition":"0 0"},500);
  13. },function() {
  14. $(this).stop().animate({"backgroundPosition":"0 -5"},200);
  15. });
  16. });
  17. var name = "#floatMenu";
  18. var menuYloc = null;
  19.  
  20. $(document).ready(function(){
  21. menuYloc = parseInt($(name).css("top").substring(0,$(name).css("top").indexOf("px")))
  22. $(window).scroll(function () {
  23. var offset = menuYloc+$(document).scrollTop();
  24. if( offset < 600 ) offset = 600;
  25. $(name).animate({top:offset+"px"},{duration:500,queue:false});
  26. });
  27. });[/b]


[b]Poniżej kod HTML:


  1. <?php
  2. if($id==7) echo
  3. '<div id="floatMenu">
  4. <ul>
  5. <a href="#oferta"><h2>Oferta</h2></a>
  6. <a href="#zapytanie"><h2>Zapytanie</h2></a>
  7. <a href="#podstawa"><h2>Podstawa prawna</h2></a>
  8. <a href="#referencje"><h2>Referencje</h2></a><br /><br />
  9. <a href="#gora"><h3>do góry</h3></a>
  10. </ul>
  11. </div>'
  12. ?>


Oraz styl CSS:

  1. #floatMenu {
  2. position:absolute;
  3. padding-top:0px;
  4. bottom:30px;
  5. top:90px;
  6. margin-left:0px;
  7. max-height:800px;
  8. width:300px;
  9. float:left;
  10. }
!*!
Twój kod w ogóle nie działa. Wklej go poprawnie czytając ten temat i podaj link. Poza tym jest dużo gotowych rozwiązań.

http://manos.malihu.gr/jquery-floating-menu
http://plugins.jquery.com/project/jquery-floater
Rid
A próbował bawić się w IE8 trybami widoków?questionmark.gif
Mega_88
Całe FloatMenu jest gotowym skryptem pobranym właśnie z podobnych stron, które podałeś Lkingsmiley.png Problem leży w samym skrypcie ponieważ na stronie, z której pobrałem FloatMenu działą pod IE8, a u mnie nie chce. Więc gryzie mi się z pozostałą cześcią skryptu ponieważ po usunięciu pozostałem częsci FloatMenu zaczyna działać.
Coś się gryzie w tym całym skrypcie, który podałem. Nie mogę zlokalizować błedu.

Cytat
A próbował bawić się w IE8 trybami widoków?


Nie, szczerze nie wiem o czym mowa.
!*!
Pokaż cały kod przy pomocy jsfiddle.net. Trybami widoków nie zawracaj sobie głowy, bo ktoś i tak może mieć je inne.

Sprawdź też Opera > dragonfly, Firefox > firebug - powinno wyświetlić błąd.
Mega_88
Cytat
<script type="text/javascript">
$(document).ready(function() {
$('.fancybox').fancybox();
$('.button1, .button2, .button3, .button4, .button5').stop().animate({"backgroundPosition":"0 -100"},1350);
$('.button1, .button2, .button3, .button4, .button5').hover(function() {
$(this).stop().animate({"backgroundPosition":"0 0"},500);
},function() {
$(this).stop().animate({"backgroundPosition":"0 -100"},200);
});
$('.button5, .button6, .button7').stop().animate({"backgroundPosition":"0 -5"},350);
$('.button5, .button6, .button7').hover(function() {
$(this).stop().animate({"backgroundPosition":"0 0"},500);
},function() {
$(this).stop().animate({"backgroundPosition":"0 -5"},200);
});
});
var name = "#floatMenu";
var menuYloc = null;

$(document).ready(function(){
menuYloc = parseInt($(name).css("top").substring(0,$(name).css("top").indexOf("px")))
$(window).scroll(function () {
var offset = menuYloc+$(document).scrollTop();
if( offset < 600 ) offset = 600;
$(name).animate({top:offset+"px"},{duration:500,queue:false});
});
});

</script>


Czemu ten skrypt, a dokładniej jego druga część nie działa mi pod IE8 co się gryzie ze sobą ? Problemy też z pierwszą cześcią, ale bardziej zalezy mi na drugiej częsci skryptu. Co ciekawe jak zostawie tylko część pogrubioną to zaczyna działać pod IE8 ... Czemu tak się dzieje ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.