В общем я совсем новичек в JS и решил попробовать свои силы в том что бы прикрутить к страничке загрузку контента в div без перезагрузки страницы. Погуглив нашел пример прикрутил под свои нужды(местами криво знаю, но попытки переделать приводят к тому, что не работает вовсе) скрипт работает в chrome и ff и не падает однако в IE он позволяет нажать только десять ссылок потом получаю ошибку Out of memory. Причем гдето ссылки восьмой начинает все жутко тормозить. КАк ее победить куда копать?
<script type="text/javascript" src="gallery/js/jquery.js"></script> <script type="text/javascript">
var page ="about.html";
var flag = true;
function loadpage(div_id){
$(document).find('a').click(
function(){
//проверяем, не является ли наша ссылка внешней ссылкой.
//это можно сделать и другим способом, средствами самого JQ,
//но лично мне удобнее так.
if ($(this).attr("href").indexOf("http://") == -1) {
//проверяем, не присвоен ли ссылке класс, в данном случае "link_no_jq"
if ($(this).attr("class") == "menu_language") {
var language_dir = "";
if($(this).attr("id") == "rus")
{
$language_dir = "rus";
document.getElementById("rus").innerHTML = "<b>rus</b>";
document.getElementById("est").innerHTML = "est";
document.getElementById("about").innerHTML = "О студии";
document.getElementById("styles").innerHTML = "Стили";
document.getElementById("schedule").innerHTML = "Расписание";
document.getElementById("services").innerHTML = "Услуги";
document.getElementById("gallery").innerHTML = "Галерея";
document.getElementById("contacts").innerHTML = "Контакты";
}
if($(this).attr("id") == "est")
{
var language_dir = "est";
document.getElementById("est").innerHTML = "<b>est</b>";
document.getElementById("rus").innerHTML = "rus";
document.getElementById("about").innerHTML = "Stuudio";
document.getElementById("styles").innerHTML = "Stiilid";
document.getElementById("schedule").innerHTML = "Ajakava";
document.getElementById("services").innerHTML = "Teenused";
document.getElementById("gallery").innerHTML = "Galerii";
document.getElementById("contacts").innerHTML = "Kontakt";
}
document.getElementById("about").href = "content/"+language_dir+"/about.html";
document.getElementById("styles").href = "content/"+language_dir+"/styles.html";
document.getElementById("schedule").href = "content/"+language_dir+"/schedule.html";
document.getElementById("services").href = "content/"+language_dir+"/services.html";
document.getElementById("contacts").href = "content/"+language_dir+"/contacts.html";
// $page="about.html";
if(page == "gallery.html")
$current_page= "content/"+page;
else
$current_page="content/"+language_dir+"/"+page;
//прячем наш див
div_id.hide('fast',
function loadingDiv(){
//очищаем содержимое нашего дива
div_id.empty();
//показываем див с анимацией
$("#loading_animation").show();
//загружаем страницу, указанную в атрибуте href
//
if(flag)
{ flag = false;
$.get($current_page,{},
function(response){
//прячем див с анимацией
$("#loading_animation").hide();
//всовываем содержимое страницы page2.html в наш див
//и показываем её, используя анимацию fadeIn
div_id.empty();
div_id.append(response).fadeIn('fast');
flag = true;
//в конце не забываем вызвать нашу функцию
loadpage(div_id);
}
)
}
}
);
}
if ($(this).attr("class") == "menu_lnk") {
var url = $(this).attr('href');
page = $(this).attr('id')+".html";
//прячем наш див
div_id.hide('slow',
function loadingDiv(){
//очищаем содержимое нашего дива
div_id.empty();
//показываем див с анимацией
$("#loading_animation").show();
//загружаем страницу, указанную в атрибуте href
//
$.get(url,{},
function(response){
//прячем див с анимацией
$("#loading_animation").hide();
//всовываем содержимое страницы page2.html в наш див
//и показываем её, используя анимацию fadeIn
div_id.empty();
div_id.append(response).fadeIn('fast');
//в конце не забываем вызвать нашу функцию
loadpage(div_id);
}
)
}
);
return false;
}
}
}
);
}
var first_boot = true;
$(document).ready(function(){
//вызываем функцию после того, как дум готов, передав в качестве
//параметра id нашего дива.
var div_id = $('#load_page');
if(first_boot)
{
first_boot=false;
$.get("content/rus/about.html",{},
function(response){
div_id.append(response).fadeIn('slow');
})}
loadpage(div_id);
});
</script>