Показать сообщение отдельно
  #1 (permalink)  
Старый 04.08.2011, 04:14
Аватар для Кирюха =)
Профессор
Отправить личное сообщение для Кирюха =) Посмотреть профиль Найти все сообщения от Кирюха =)
 
Регистрация: 27.07.2011
Сообщений: 207

Конфликт AJAX и Jquery
Есть пара протеньких программок(скриптов) на яваскрипте:
1.Делает красивый выдвижной спойлер===> Jquery
2.подгружает страничку при нажатии на ссылку===>AJAX
Скрипт 2 работает без скрипта 1,вообщем краисвый спойлер открывается и загружается а страничка не подгружается((((Да что там говорить смотрите:
Главная
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>   
<style type="text/css"> 
#content{display:none; border: solid #000 2px;} 
</style>
<script type="text/javascript" src="scripts.js"></script>
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
  $(document).ready(function(){
    $('.spsp').click(function(){
      $(this).parent().children('div#content').toggle('slow');
      return false;
    });
  });
</script>
 
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
</head>
<body>
<!--
При клике на ссылку в элемент с ID = content подгружется содержимое страницы
loading.php, причем только один раз - когда туда еще ничего не загружено (потому
что 3-й параметр функции CallServer = false)
-->
<a href="#" class="spsp" onclick="SH('content');CallServer('content','loading.php',false);">Подгрузить</a>
<div id="content">sdsdsddsd</div>
</body>
</html>

ФАЙЛ scripts.js (скрипт подгрузки страницы)
// Код вызова
var call_code;
// Объект класса XMLHttpRequest
var xmlHttp;
 
function CallServer(item,url,reload)
{
    // Если reload - false - то страница загружается в объект только если innerHTML у него пустой
    // Запоминаем код вызова
    call_code=item;
    // Если данных ещё нет, то подгружаем их
    if ((call_code!='') &&
        ((document.getElementById(item).innerHTML=='' || reload))
       )
    {
        // Если имеем дело не с InternetExplorer
        if (window.XMLHttpRequest) {
            xmlHttp = new XMLHttpRequest();
            // Открыть соединение с сервером
            xmlHttp.open("GET", url, true);
            // Установить функцию для сервера, которая выполнится после его ответа
            xmlHttp.onreadystatechange = updatePage;
            // SПередать запрос
            xmlHttp.send(null);
        }
        // Если имеем дело с InternetExplorer(он объект XMLHttpRequest имеет
        // в виде active-X компонента XMLHTTP)
        else if (window.ActiveXObject)
        {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            // Установить функцию для сервера, которая выполнится после его ответа
            xmlHttp.onreadystatechange = updatePage;
            // Открыть соединение с сервером
            xmlHttp.open("GET", url, true);
            // SПередать запрос
            xmlHttp.send();
        }
 
        // Включить индикатор загрузки
        loadPage();
    }
}
 
//индикатор загрузки
function loadPage()
{
    document.getElementById(call_code).innerHTML= 'Загрузко...';
}
 
// Функция, выполняемая после ответа
function updatePage() {
  if (xmlHttp.readyState == 4) {
 
        if (xmlHttp.status == 200) {
            // Если код ошибки - 200 подгружем ответ сервера в элемент HTML с
            // ID=call_code
            document.getElementById(call_code).innerHTML = xmlHttp.responseText;
        } else {
            alert("Не удалось получить данные:\n" + xmlHttp.statusText);
        }
 
  }
}
 
// Функция показывает, скрывает элемент html с указанным ID
//function SH(name) {
//    _div = document.getElementById(name);
 
 //   if (_div.style.display == "none") _div.style.display=""; else _div.style.display="none";
//}

Прошу помогите!!!Буду безмерно благодарен....
Ответить с цитированием