Сбросить jquery после клика - PullRequest
0 голосов
/ 05 января 2011

Может ли кто-нибудь мне помочь.

http://beibl.users32.interdns.co.uk/second.php

Это веб-сайт, над которым я работаю, если вы нажмете ссылку на экран компьютера в средней навигационной панели, он выдаст всплывающее окно и загрузитсодержимое из div с использованием prettyphoto, которое отлично подходит именно для меня.

Вот код.

$("ul.second-menu a.first[rel^='prettyPhoto']").prettyPhoto({theme:'facebook'});

$("ul.second-menu a.first").click(function() {
var text = $(".inner-content").html();
var h2 = $("h2.sec-main").html();
$(".inner-content-op").append(text);
$(".header-ow h2").append(h2);
return false;
});

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

Любая помощь, пожалуйста.

Ответы [ 2 ]

1 голос
/ 05 января 2011

Причина этого в том, что вы добавляете элемент.

Если вы измените функцию добавления, как показано ниже

$(".inner-content-op").append(text);
$(".header-ow h2").append(h2);

, на что-то вроде функции html, например ниже

$(".inner-content-op").html(text);
$(".header-ow h2").html(h2);

Он перезапишет все html внутри элемента, а не добавит к нему.Вот ваш результат:

$("ul.second-menu a.first[rel^='prettyPhoto']").prettyPhoto({theme:'facebook'});

$("ul.second-menu a.first").click(function() {
var text = $(".inner-content").html();
var h2 = $("h2.sec-main").html();
$(".inner-content-op").html(text);
$(".header-ow h2").html(h2);
return false;
});
0 голосов
/ 05 января 2011

Вы можете очищать элементы $ (". Inner-content-op") и $ (". Header-ow h2") каждый раз, когда нажимаете, или вместо append () вы можете использовать функцию html ().

...