Проблема с Java script в IE

Тема в разделе "Создание расширений для Joomla", создана пользователем bzzik, 28.04.2008.

  1. Offline

    bzzik Недавно здесь

    Регистрация:
    28.03.2007
    Сообщения:
    11
    Симпатии:
    0
    Привет всем!

    Для нового шаблона делаю модуль вывода новостей. Нашёл в инете Java скриптик, соединил пару модулей и вроде даже что-то получилось. Но это что-то работает нормально только в Firefox & Opera. IE же просто зависает...

    Может быть здесь найдётся спец (сам таким не являюсь), который подскажет, в чём проблема. Опытным путём я вроде бы установил, что проблема в самом java script, но сам починить не могу :(

    В работе модуль можно посмотреть здесь (называется Top News):
    http://www.contra.lv/content/blogsection/11/148/
    Чтобы понять его работу, просто поводите мышкой по новостям, которые выводит этот модуль!

    Ниже код модуля, отвечающий за вывод контента:
    Код (CODE):
    1. // Output
    2.  
    3. <style type="text/css">
    4. #newsflash ul                               { list-style: none outside none; margin-bottom: 0px; padding-left:0px; margin-left:0px; width:560px; }
    5. #newsflash li                               { margin-bottom: 5px; margin-left: 0px; clear:left; line-height:12px; padding: 0px;}
    6. #newsflash li.active                        { width: auto; height:97px; border-bottom: 1px #A6A6A6 solid; margin-top:5px;  margin-left: 0px; padding: 0xp; margin-left: 0px;}
    7. #newsflash li           .teaser             { display: block; height:40px; border-bottom: 1px #A6A6A6 solid; text-decoration: none; color: #000; margin-bottom:0px; padding: 0px;}
    8. #newsflash li           .intro              { display: none; }
    9. #newsflash li.active    .teaser             { display: none; }
    10. #newsflash li.active    .intro              { display: block; text-decoration: none; color: #000;}
    11. #newsflash              .teaser             { margin-left: 0px; width: 570px; }
    12. #newsflash              .teaser     img     { width:  60px; height: 30px; float: left; margin-bottom: 5px; margin-top: 2px;}
    13. #newsflash              .intro      img     { width:  120px; height: 90px; float: left; margin-bottom: 0px; margin-top: 0px;}
    14. #newsflash a                                { padding: 0px; width: 570px; margin-left: 0px;text-decoration: none;}
    15. .newsteaser { border: 1px solid #888888; margin-right:5px; }
    16. .title          { font-size:9px;color:#333333;}
    17. .introtext      { font-size:11px;color:#000000; }  
    18. </style>
    19.  
    20. <script type="text/javascript">
    21.         blowup = function(obj) {
    22.             if (!document.getElementById) { return true; }
    23.             var items = obj.parentNode.getElementsByTagName('li');
    24.             for (var i=0; i<items.length; i++) {
    25.                 items[i].className = (items[i]==obj) ? 'active' : '';
    26.             }
    27.             return false;
    28.         }
    29. </script>
    30.    
    31. <?php
    32. $impl = 0;
    33.  
    34. // create mage
    35. if (!function_exists('showimg'))
    36. {
    37.     function showimg (&$row)
    38.     {
    39.         global $mosConfig_live_site;
    40.         $row->images = explode("\n", $row->images);
    41.         $total = count($row->images);
    42.         $image = '';
    43.         for ($i=0; $i<$total; $i++) {
    44.             $image = trim($row->images[$i]);
    45.             if ($image) {
    46.                 $filename = explode('|', $image);
    47.                 $image = $filename[0];
    48.                 break;
    49.             }
    50.         }
    51.         return $image;
    52.     }
    53. }
    54.  
    55. echo '
    56. <div id="newsflash">
    57.     <ul>';
    58.     foreach ( $rows as $row ) {
    59.     // get Itemid
    60.     $Itemid = $mainframe->getItemid( $row->id, 0, 0, $bs, $bc, $gbs );
    61.     // Blank itemid checker for SEF
    62.     if ($Itemid == NULL) {
    63.         $Itemid = '';
    64.     } else {
    65.         $Itemid = '&amp;Itemid='. $Itemid;
    66.     }
    67.     if ($impl == 0) {
    68.         $li_class = 'active';
    69.     } else {
    70.     $li_class = '';
    71.     }
    72.    
    73. $html_image = showimg($row);
    74. $flashimg = $mosConfig_live_site .'/images/stories/'. $html_image; 
    75.     echo '
    76.         <li onmouseover="blowup(this);" class="'. $li_class .'">
    77.             <a href="'. sefRelToAbs( 'index.php?option=com_content&amp;task=view&amp;id='. $row->id . $Itemid ) .'" style="display:block">
    78.                 <div class="teaser" style="margin-top:5px;">
    79.                 <img src="'. $flashimg .'" class="newsteaser">
    80.                 <span class="title">European Nations Championship</span><br>
    81.                 <b>'. $row->title .'</b>
    82.                 </div>
    83.                 <div class="intro">
    84.                 <img src="'. $flashimg .'" class="newsteaser">
    85.                 <span class="title">European Nations Championship</span><br>
    86.                 <b>'. $row->title .'</b>
    87.                     <div class="introtext">'. $row->introtext = preg_replace('/{([a-zA-Z0-9\-_]*)\s*(.*?)}/i', '', $row->introtext) .'<br/>
    88.                     </div>
    89.                 </div>
    90.             </a>
    91.         </li>';
    92.         $impl++;
    93.     }
    94.     echo '<ul>
    95. </div>
    96. ';
    97. ?>


    Заранее благодарен!
     
  2.  
  3. Offline

    bzzik Недавно здесь

    Регистрация:
    28.03.2007
    Сообщения:
    11
    Симпатии:
    0
    Ответ: Проблема с Java script в IE

    Вообщем, проблема исчезает, когда выводится более двух новостей :) Не знаю почему, но это так...
     

Поделиться этой страницей

Загрузка...