IE делает странные вещи с JQuery - PullRequest
1 голос
/ 05 мая 2010

Итак ... Дело в том, что код работает в FireFox, никаких проблем. Но когда я открываю ту же страницу, мне выдается следующая ошибка:

"Не определено, является нулем или не объектом."

Но когда я копирую код на страницу локального хоста, он работает нормально. Также, когда я очищаю свой кеш в IE, он работает, но только один раз, если я обновляюсь после этой загрузки, он выдает ту же ошибку.

Вот код:

<script type="text/javascript" src="datepicker/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
     var count3 = 0; 
     var count5 = 0;
     var count2 = 0;
     var count4 = 0;

    $(document).ready(function(){

    $('#switch3').click(function(){
        $('#switchDiv3').slideToggle(350);
            if(count3 == 0){
            count3 = 1;
            document.getElementById('switchImage3').src = "images/ArrowDown.png";
            return;
            } else {
            count3 = 0;
            document.getElementById('switchImage3').src = "images/ArrowRight.png";
            return;
            }
    });

    ... (this is the code for each item that is generated) 
    </script>

И код, который определяет div, который должен скрываться:

<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
    <tr>
        <td width="20" align="center" valign="top" style="padding-right: 3px">
            <a style="cursor: pointer;" id="switch3"><img width="20" height="20" src="images/ArrowRight.png" id="switchImage3" style="border-style: solid; border-width: 1px; border-color: black;"/></a>
        </td>
        <td>
            <div id="switchDiv3">
                <div align="left">
                    (Contents of the div here)
                </div>
            </div>
        </td>
    </tr>
</table>

Любая помощь приветствуется!

Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 06 мая 2010

Итак ...

Функция-прототип тоже не сработала, понятия не имею, почему ... Так что теперь я просто попытаюсь изменить атрибут отображения.

Не повезло, либо. Скрипт меняет стрелку, но не скрывает div ...

Вот код:

var count3 = 0;
function showHideDiv3(){
    if(count3 == 0){
        document.getElementById('switchDiv3').style.display = '';
        document.getElementById('switchImage3').src = "images/ArrowDown.png";
        count3 = 1;
    }else{
        if(count3 == 1){
            document.getElementById('switchDiv3').style.display = 'block';
            document.getElementById('switchImage3').src = "images/ArrowRight.png";
            count3 = 0;
        }
    }
}

Имена дивов верны. Я проверил, и 3 из моих коллег также дважды проверили.

Это сводит меня с ума и в депрессии.

0 голосов
/ 27 июля 2010

Вы просто пытаетесь поменять местами иконки для обозначения статуса?Если это так, просто выберите атрибут src идентификатора, размещенного на изображении, и поменяйте местами графику.

Итак, используйте что-то вроде:

$('#swtichImage3').hover(function() {
$(this).attr('src', 'images/ArrowDown.png');
}, function(){
$(this).attr('src', 'images/ArrowRight.png');
});

В этом примере я использую hover() действие, но вы можете поменять это.Я просто хотел показать это, чтобы показать более простой способ замены атрибута src.

0 голосов
/ 05 мая 2010

Вам нужно описать, что вы хотите сделать. Я думаю, вы хотите показать и скрыть div и переключить стрелку слева направо, когда вы делаете.

Вы можете использовать функцию переключения, это действительно круто, вот пример того, что вам нужно (я думаю).

<html>
<head>
    <script type="text/javascript" src="jquery-1.4.2.min.js"></script>

    <script type="text/javascript">
        $(document).ready(function(){
            $("#switch3").toggle(function(){
                $("#switch3").html('<-');
                $("#switchDiv3").slideToggle(350);;

            }, function(){
                $("#switch3").html('->');
                $("#switchDiv3").slideToggle(350);
            });
        });
    </script>
</head>
<body>
    <div>
    <a id="switch3" style="cursor: pointer;"> -> </a>
        <div id="switchDiv3" style="background-color: red">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
        </div>
    </div>
</body>

Кстати, я использовал встроенный стиль только для примера, вы должны использовать внешнюю таблицу стилей.

...