За последние 24 часа нас посетили 18945 программистов и 1633 робота. Сейчас ищут 886 программистов ...

Javascript PHP explorer и opera

Тема в разделе "Прочие вопросы по PHP", создана пользователем borshov, 9 июн 2010.

  1. borshov

    borshov Активный пользователь

    С нами с:
    6 фев 2009
    Сообщения:
    35
    Симпатии:
    0
    Ребзя помогите,

    Взял java менюшку - смысл такой, что есть разделы кликаешь мышкой и выезжают ссылки из этого раздела.
    Так вот в firefox, chrome,safari при переходах по ссылкам все красиво, а вот в опере и эксплорере эти ссылки видны секунду потом скрываются.

    Может кто подскажет как оптимизировать java в браузерах!
     
  2. Scorpius

    Scorpius Активный пользователь

    С нами с:
    6 май 2010
    Сообщения:
    59
    Симпатии:
    0
    Адрес:
    там уже нет
    Мы не телепаты, код покажи
     
  3. borshov

    borshov Активный пользователь

    С нами с:
    6 фев 2009
    Сообщения:
    35
    Симпатии:
    0
    ну допустим

    index.php

    PHP:
    1. <?
    2. include("mysql.php");
    3. include("admin/config.php");
    4. include("design/itop_index.inc.php");
    5. echo "<div id=\"content\">";
    6. ##############################   НОВОСТИ ###################################
    7.  
    8. $query = mysql_query("SELECT * FROM news as A, news_cat as B WHERE old_mess = 'old' AND A.id_category = B.id");
    9. if ($query)
    10. {
    11.     $num = mysql_num_rows ($query);
    12.     if ($num)
    13.     {
    14.         $echo_cat = mysql_fetch_array($query);
    15.         @$start = page_list ($_GET['page'], $num, $COUNT_SHOW_articles);
    16.         $query = mysql_query("SELECT A.id as news_id, A.*, B.* FROM news as A, news_cat as B WHERE old_mess = 'old' AND A.id_category = B.id ORDER by news_id DESC LIMIT 5");
    17.            
    18.         while($board = mysql_fetch_array($query))
    19.         {  
    20.             echo "<div class=\"post\"><h3 class=\"sites\"><a href =\"".$h."news".$board['id_category']."-".$board['news_id'].".html\"  title='".$board['title']."'>".htmlspecialchars($board['title'])."</a></h3>";
    21.             echo "<p class=\"meta\">Дата: <a>".$board['date']."</a></p>";
    22.                 $desc = cutstring($board['text'],566)."";
    23.  
    24.             echo "<div class=\"entry\">";
    25.             if ($board['image']) echo"<div class=\"image\"><a href =\"".$h."news".$board['id_category']."-".$board['news_id'].".html\"><img  border=0 align=left hspace=30 src=\"".$h."".$small_path_news.$board['image']."\"></a></div>";
    26.             echo "<p><index>".strip_tags_smart($desc)."</index></p>";
    27.             echo "<p class=\"meta\"><a href =\"".$h."news".$board['id_category']."-".$board['news_id'].".html\">Читать полностью &rarr;</a></p>";
    28.            
    29.             echo "<div class=\"line1\">&nbsp;</div></div></div>";
    30.         }
    31.        
    32.     }
    33. }
    34. echo "<div style=\"clear: both;height: 60px;\"></div>";
    35. echo "<div id=\"banners\"><img src=\"".$h."skins/".$skins."/ban1.gif\">&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$h."skins/".$skins."/ban1.gif\"></div>";
    36. echo "</div>";
    37. include("design/menubar_1.inc.php");
    38. include("design/foot.inc.php");
    39. ?>
    40.     <script>
    41.     // <![CDATA[
    42.     var myMenu;
    43.     window.onload = function() {
    44.         myMenu = new SDMenu("my_menu");
    45.         myMenu.collapseAll();
    46.         myMenu.init();
    47.     };
    48.     // ]]>
    49. </script>  
    как видно подключается шапка (itop_index.inc.php) в ней:

    PHP:
    1.  
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml">
    4. <?
    5. echo "<head><title>";
    6. if(isset($title)) echo $title; else echo $default_title;
    7. ?>
    8. </title>
    9. <meta http-equiv="Content-Language" content="ru">
    10. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    11. <meta name="keywords" content="<? if(isset($keywords)) echo $keywords; else echo $default_keywords;?>">
    12. <meta name="description" content="<? if(isset($description)) echo $description; else echo $default_descr; ?>">
    13. <link rel="stylesheet" type="text/css" href="<?=$h?>skins/<?=$skins?>/style.css">
    14. <link type="ico" rel="shortcut icon" href="<?=$h?>images/favicon.ico" />
    15. <script type="text/javascript" src="<?=$h?>js/sdmenu.js"></script>
    16. </head>
    17. <body>
    18. <div id="wrapper">
    19. <div id="header">
    20. <div id="logo">
    21. <img src="<?=$h?>skins/<?=$skins?>/logo.png">
    22. </div>     
    23. </div>
    24. <!-- end #header -->
    25. <div id="menu">
    26. <div class="menus">
    27. <a class="start" href="<?=$h?>">Главная</a>
    28. <a class="regmenu" href="<?=$h?>news.html">Новости</a>
    29. <a class="regmenu" href="<?=$h?>map.html">Карта сайта</a>
    30. <a class="end" href="<?=$h?>contacts.html">Контакты</a>
    31. </div>
    32. </div>
    33. <!-- end #menu -->
    34. <div id="page">
    35. <div id="page-bgtop">
    36. <div id="page-bgbtm">
    37.  
    вот ява код от меню
    [js]
    function SDMenu(id) {
    if (!document.getElementById || !document.getElementsByTagName)
    return false;
    this.menu = document.getElementById(id);
    this.submenus = this.menu.getElementsByTagName("div");
    this.remember = true;
    this.speed = 3;
    this.markCurrent = true;
    this.oneSmOnly = true;
    }
    SDMenu.prototype.init = function() {
    var mainInstance = this;
    for (var i = 0; i < this.submenus.length; i++)
    this.submenus.getElementsByTagName("span")[0].onclick = function() {
    mainInstance.toggleMenu(this.parentNode);
    };
    if (this.markCurrent) {
    var links = this.menu.getElementsByTagName("a");
    for (var i = 0; i < links.length; i++)
    if (links.href == document.location.href) {
    links.className = "current";
    break;
    }
    }
    if (this.remember) {
    var regex = new RegExp("sdmenu_" + encodeURIComponent(this.menu.id) + "=([01]+)");
    var match = regex.exec(document.cookie);
    if (match) {
    var states = match[1].split("");
    for (var i = 0; i < states.length; i++)
    this.submenus.className = (states == 0 ? "collapsed" : "");
    }
    }
    };
    SDMenu.prototype.toggleMenu = function(submenu) {
    if (submenu.className == "collapsed")
    this.expandMenu(submenu);
    else
    this.collapseMenu(submenu);
    };
    SDMenu.prototype.expandMenu = function(submenu) {
    var fullHeight = submenu.getElementsByTagName("span")[0].offsetHeight;
    var links = submenu.getElementsByTagName("a");
    for (var i = 0; i < links.length; i++)
    fullHeight += links.offsetHeight;
    var moveBy = Math.round(this.speed * links.length);

    var mainInstance = this;
    var intId = setInterval(function() {
    var curHeight = submenu.offsetHeight;
    var newHeight = curHeight + moveBy;
    if (newHeight < fullHeight)
    submenu.style.height = newHeight + "px";
    else {
    clearInterval(intId);
    submenu.style.height = "";
    submenu.className = "";
    mainInstance.memorize();
    }
    }, 30);
    this.collapseOthers(submenu);
    };
    SDMenu.prototype.collapseMenu = function(submenu) {
    var minHeight = submenu.getElementsByTagName("span")[0].offsetHeight;
    var moveBy = Math.round(this.speed * submenu.getElementsByTagName("a").length);
    var mainInstance = this;
    var intId = setInterval(function() {
    var curHeight = submenu.offsetHeight;
    var newHeight = curHeight - moveBy;
    if (newHeight > minHeight)
    submenu.style.height = newHeight + "px";
    else {
    clearInterval(intId);
    submenu.style.height = "";
    submenu.className = "collapsed";
    mainInstance.memorize();
    }
    }, 30);
    };
    SDMenu.prototype.collapseOthers = function(submenu) {
    if (this.oneSmOnly) {
    for (var i = 0; i < this.submenus.length; i++)
    if (this.submenus != submenu && this.submenus.className != "collapsed")
    this.collapseMenu(this.submenus);
    }
    };

    SDMenu.prototype.collapseAll = function() {
    for (var i = 0; i < this.submenus.length; i++)
    if (this.submenus.className != "collapsed")
    this.collapseMenu(this.submenus);
    };
    SDMenu.prototype.memorize = function() {
    if (this.remember) {
    var states = new Array();
    for (var i = 0; i < this.submenus.length; i++)
    states.push(this.submenus.className == "collapsed" ? 0 : 1);
    var d = new Date();
    d.setTime(d.getTime() + (30 * 24 * 60 * 60 * 1000));
    document.cookie = "sdmenu_" + encodeURIComponent(this.menu.id) + "=" + states.join("") + "; expires=" + d.toGMTString() + "; path=/";
    }
    };
    [/js]
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Пальцем ткни =) куда тут смотреть конкретно...