Javascript Показать и скрыть Divs перезагрузки завершить страницу в IE6 - PullRequest
0 голосов
/ 01 февраля 2010

и спасибо, что взглянули на этот вопрос.

Мы разработали веб-сайт с навигационным элементом управления (кнопки «Далее» и «Предыдущий»), написанным на Flash. Эти кнопки используют ExternalInterface для вызова функции Javascript на моей веб-странице, например, ExternalInterface.call ("showPage", pageNum);

Моя HTML-страница содержит несколько элементов Div, каждый из которых представляет один «экран». Для первого Div (экрана) CSS Display имеет значение «inline», а все остальные - «none».

Функция Javascript showPage, которая вызывается при нажатии кнопки Flash, выглядит следующим образом и вызывает функцию hideShow:

function showPage(which) {

    if (pagetype == "lo"){
        if(which < 0 && isRunningInFrame()){goPrev();}
        else if (which > maxPageNum && isRunningInFrame()){goNext();}
        else{dsPages.setCurrentRow(which);}
    }

    hideShow('page' + currentRow, 'page' + which);
    prevRow = currentRow;
    currentRow = which; 
}

function hideShow(hideDiv, showDiv){
    if(document.getElementById(hideDiv)!=null){
        document.getElementById(hideDiv).className = "hideDiv clear";   
    }
    if(document.getElementById(showDiv)!=null){
        document.getElementById(showDiv).className = "showDiv clear";
    }
}

Все это хорошо работает в современных браузерах и очень отзывчиво. Однако наш клиент имеет Internet Explorer 6 на всех своих компьютерах (ну, они бы не стали!), И когда вы нажимаете Next, страница полностью перезагружается. Я только предполагаю, что это происходит, потому что я вижу в левом нижнем углу браузера (на серой полосе) все изображения JPEG, загружаемые. Некоторые из HTML-страниц содержат приблизительно 50 «экранов», и это очень медленно, когда все они загружаются снова и снова.

Я был бы очень признателен, если бы кто-нибудь мог понять, почему это происходит, или мог бы предложить более эффективный подход к этому.

Спасибо.

Привет

Chris

1 Ответ

0 голосов
/ 01 февраля 2010

Пойнти может иметь точку здесь (не каламбур). Простое предположение - попытка поместить 'return false;' после вашего js-звонка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...