Javascript 创建可重用的jQuery函数
我不是每次都重新编写大量代码,而是尝试将函数合并到我的工作中,但我在使其工作时遇到了困难 基本上,我有一些单选按钮,每次单击单选按钮时我都会执行一些操作。(我实际上正在加载iFrame)。但是,我需要为每个单选按钮设置不同的iFrame SRC,因此如何在函数中满足这一点 职能:Javascript 创建可重用的jQuery函数,javascript,jquery,html,function,radio-button,Javascript,Jquery,Html,Function,Radio Button,我不是每次都重新编写大量代码,而是尝试将函数合并到我的工作中,但我在使其工作时遇到了困难 基本上,我有一些单选按钮,每次单击单选按钮时我都会执行一些操作。(我实际上正在加载iFrame)。但是,我需要为每个单选按钮设置不同的iFrame SRC,因此如何在函数中满足这一点 职能: jQuery.fn.switchPreview = function () { $('.liveDemoFrame').remove(); $('.liveDemoHand').append('<iframe c
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标记
$('#cTheme1').click(function () {
$('input:radio[name=mgChooseTheme]:nth(1)').attr('checked',true);
$('#liveDemoFrame').attr('src', <the new url>);
});
$('#cTheme1')。单击(函数(){
$('input:radio[name=mgChooseTheme]:n(1)').attr('checked',true);
$('liveDemoFrame').attr('src',);
});
那么您的iframe就已经需要成为页面的一部分:
<iframe id='liveDemoFrame' src='<default page>'></iframe>
我注意到您在iFrame上使用CLASS属性并使用它访问它——如果您只是想引用单个对象,那么您确实需要考虑使用ID属性。(如我上面的示例所示)为什么不更新iframe的src标记
$('#cTheme1').click(function () {
$('input:radio[name=mgChooseTheme]:nth(1)').attr('checked',true);
$('#liveDemoFrame').attr('src', <the new url>);
});
$('#cTheme1')。单击(函数(){
$('input:radio[name=mgChooseTheme]:n(1)').attr('checked',true);
$('liveDemoFrame').attr('src',);
});
那么您的iframe就已经需要成为页面的一部分:
<iframe id='liveDemoFrame' src='<default page>'></iframe>
我注意到您在iFrame上使用CLASS属性并使用它访问它——如果您只是想引用单个对象,那么您确实需要考虑使用ID属性。(如上面的示例所示)将themeName作为switchPreview函数的参数传递 -将函数的第一行更改为:
jQuery.fn.switchPreview = function (themeName) {
-对于调用函数的三次中的每一次,请确保传入参数,即:
$('.liveDemoFrame').switchPreview(themeName);
作为switchPreview函数的参数传入themeName -将函数的第一行更改为:
jQuery.fn.switchPreview = function (themeName) {
-对于调用函数的三次中的每一次,请确保传入参数,即:
$('.liveDemoFrame').switchPreview(themeName);
也许在jQuery->中使用data()方法,然后将URL作为数据存储在单选按钮中?是的,非常简单,只需将themeName变量传递到switchPreview()方法中即可。是否可以使用attr更改iframe的src?还是我遗漏了什么?另外,由于switchPreview()函数不是动态的,正如在使用“this”时一样,您真的应该只使用普通的JS语法,如果您的所有选择器和变量都是使用data()预定义的,那么没有理由将其设为jQuery函数方法->然后将URL作为数据存储在单选按钮中?是的,非常简单,只需将themeName变量传递到switchPreview()方法中即可。可以使用attr更改iframe的src吗?还是我遗漏了什么?另外,由于switchPreview()函数不是动态的,正如在使用“this”时一样,您真的应该只使用普通的JS语法,如果您的所有选择器和变量都是预定义的,那么就没有理由将其设为jQuery函数。非常感谢,非常好用。谢谢。