2012-05-14 4 views
1

У меня есть небольшой вопрос для вас, что я не знаю, как исправить. В этой ситуации я использую jQuery Slideshow (называемую камерой), и я объединил это с веб-сайтом с горизонтальной прокруткой.Как сбросить функцию jquery на лету

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

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

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

Это моя функция:

function swapContent(cv) { 
    $(".camera").html("Loading...").show(); 
    var url = "evaluation_menu.php"; 
    $.post(url, {contentVar: cv}, function(data) { 
     $(".camera").html(data).show(); 
     $('.camera').camera({ 
      pagination: false 
     }); 
    }); 
} 

Это, как я использую его:

<a class="next page" title="Title 1" href="#page" onClick="return false" onmousedown="javascript:swapContent('title1');"><div id="title1"></div></a> 
<a class="next page" title="Title 2" href="#page" onClick="return false" onmousedown="javascript:swapContent('title2');"><div id="title2"></div></a> 

Everytime Я нажимаю кнопку она выполняет эту функцию, которая считывает и выполняет запрос в базе данных.

Я думал использовать что-то в onClick, но не знаю, что и как.

Любая помощь действительно оценена.

+1

«К сожалению, когда я выбираю другой раздел из меню, он неправильно загружает изображения». Вам нужно дать нам больше деталей, чем это - что не загружается правильно? Также марукп для области слайд-шоу на странице, вероятно, будет полезен. – prodigitalson

+0

Показывать $ (". Camera") после камеры $ ('. Camera'). ({}) Не раньше нее. я имею в виду $ .post (url, {contentVar: cv}, function (data) { $ (". camera"). html (data); $ ('. camera'). camera ({ pagination: false }); $ (". Camera"). Show(); }); –

+0

Извините, продигиталсон, вы правы. Запрос работает, изображения загружаются правильно, но каждый раз, когда я нажимаю на кнопку в меню, он реплицирует кнопку воспроизведения/паузы, большие пальцы и так далее; вместо этого, чтобы сбросить окно или класс CSS к нажатой новой кнопке. Надеюсь, что я был более ясен. – Mark

ответ

0

Возможно, я нашел немного пути к возможному решению, но это не работает так, как я хочу.

function swapContent(cv) { 
$(".camera").html("Loading...").show(); 
var url = "evaluation_menu.php"; 
location.reload(); // reload the page 
$.post(url, {contentVar: cv}, function(data) { 
    $(".camera").html(data).show(); 
    $('.camera').camera({ 
     pagination: false 
    }); 
    }); 
} 

Если я использую "location.reload();" когда я нажимаю на кнопку в меню со скользящей страницы, слайд обновляется, но не загружается.

+0

Ночью я подумал, что было бы интересно изменить URL-адрес браузера без перезагрузки страницы с помощью Ajax. Итак, я нашел этот сайт: http://tinywall.info/2012/02/22/change-browser-url-without-page-reload-refresh-with-ajax-request-using-javascript-html5-history-api -php-jquery-like-facebook-github-navigation-menu/ Я смешал свой код с этим, но, к сожалению, когда я тестирую результат в Opera, IE, Chrome, Safari, я не вижу изображения. Только на FF я вижу все без проблем. Подсказка? – Mark

Смежные вопросы