Показать сообщение отдельно
  #1 (permalink)  
Старый 18.05.2010, 07:44
Интересующийся
Отправить личное сообщение для GRean Посмотреть профиль Найти все сообщения от GRean
 
Регистрация: 17.04.2010
Сообщений: 22

Как заставить событие сработать один раз
Всем привет!

У меня есть страница, которая подгружает внешний word-документ.html
В вордовском документе есть ссылки, которые введут на закладки внутри этого документа. Все работает норм. Но на самой странице есть код, который проверяет размер документа по высоте.При первой загрузке он работает хорошо. Но если я нажимаю переход на ссылку внутри подгруженного документа, то js начинает постоянно срабатыват, тем самым увеличивая размеры самой страницы по высоте. Это видно по скроллу, который тянется вверх. Подскажите плииз, как избавиться от этого?

Вот пример.

сам код:
<script type="text/javascript">   
  
var timeout;   
  
function clickAction() {   
 
                 
    frameFitting();   
    var fr = document.getElementById('demo_frame').contentWindow.document.body.getElementsByTagName('a'); 
    //alert(mode); 
    //document.write(mode);

    for (var i=0; i<fr.length; i++) {   
        fr[i].onclick = function() {   
            clearInterval(timeout);   
            timeout = setInterval("frameFitting()",100);   
    
        }
    }
      
}   
  
function frameFitting() {
  
   
    document.getElementById('demo_frame').width = '560';   
    document.getElementById('demo_frame').height = document.getElementById('demo_frame').contentWindow.document.body.scrollHeight+50+'px';
 
    var h = document.getElementById('demo_frame').contentWindow.document.body.scrollHeight;
    
document.getElementById('demo_frame').height = h+'px';

}   
  
onload = clickAction;   
   
</script>   
</head>   
<body>   
<iframe src="text.html" id="demo_frame" align="center" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe>
Ответить с цитированием