Вместо того, чтобы каждый раз переписывать огромный блок кода, я пытаюсь включить функции в свою работу, но у меня возникают проблемы с тем, чтобы это работало.
По сути, у меня есть выбор радиокнопок, и я выполняю некоторые действия каждый раз, когда нажимается радиокнопка. (Я на самом деле загружаю iFrame). Тем не менее, мне нужно сделать iFrame SRC разными для каждой кнопки-переключателя, так как я могу обеспечить это в рамках функции?
Функция:
jQuery.fn.switchPreview = function () {
$('.liveDemoFrame').remove();
$('.liveDemoHand').append('<iframe class="liveDemoFrame" src="themes/src/' + themeName + '/" width="100%" height="300" scrolling="no"><p>Your browser does not support iframes.</p></iframe>');
$('.liveDemoHand').append('<div class="switchPreview"><div class="loadingPreview"></div></div>');
$('.liveDemoFrame').load(function() {
$('.switchPreview').fadeOut();
$('.switchPreview').remove();
$('.liveDemoFrame').fadeIn();
});
return this;
}
В iFrame SRC у меня есть переменная с именем themeName. Мне нужно, чтобы это как-то изменилось для каждого переключателя. Вы можете видеть в коде, который вызывает функцию, я каждый раз пытался объявить переменную, но это все равно дает мне неопределенную ошибку.
Код, который его вызывает:
$('#cTheme1').click(function () {
$('input:radio[name=mgChooseTheme]:nth(1)').attr('checked',true);
var themeName = 'theme1';
$('.liveDemoFrame').switchPreview();
});
$('#cTheme2').click(function () {
$('input:radio[name=mgChooseTheme]:nth(2)').attr('checked',true);
var themeName = 'theme2';
$('.liveDemoFrame').switchPreview();
});
$('#cTheme3').click(function () {
$('input:radio[name=mgChooseTheme]:nth(3)').attr('checked',true);
var themeName = 'theme3';
$('.liveDemoFrame').switchPreview();
});
Я уверен, что это что-то очень простое, но я все еще учусь, поэтому мелочи всегда сбивают меня с толку!