将变量发送到另一个函数
Sending a variable to another function
我有这两个函数,希望1用指定的变量执行另一个:
function ckbmovestate() {
$(this).css("-webkit-transform", "translate(53px, 0px)")
};
function initcheckbox(){
var togglebox = "<div class='toggle_box'><div class='switch'></div></div>";
$('input[type=checkbox]').css('display','none');
$('fieldset[data-input-type=checkbox]').append(togglebox);
$('fieldset:has(:checkbox:checked)').each(function(){
$(this).find('.switch').attr('data-state', 'on');
ckbmovestate($(this))
});
$('fieldset:has(:checkbox:checked)')
$('fieldset:not(:has(:checkbox:checked))').find('.switch').attr('data-state', 'off');
};
正如你可能猜到的,这是行不通的。问题是为什么?你能给我上一堂关于变量处理的速成课吗?谢谢你们,我知道你们是最棒的!
最简单的选项是定义函数以获取参数:
function ckbmovestate(element) {
$(element).css("-webkit-transform", "translate(53px, 0px)")
}
然后,您可以使用代码中的ckbmovestate(this)
调用此函数。
如果您真的希望能够在调用函数时在函数中使用this
关键字,您可以这样做。在这里不值得,但可能会有一段时间您想要这样做。要实现这一点,您需要使用call
或apply
。在这里,任何一个都可以:
ckbmovestate.call(someElement);
这将someElement
的值发送到ckbmovestate
。在ckbmovestate
中,您可以使用关键字this
访问该值。因此,在上面的代码中,以下调用将起作用:
ckbmovestate.call(this);
然而,对于这种情况,这几乎肯定会使事情过于复杂——定义参数要容易得多。
因为您不接受ckbmovestate 中的参数
如果你不想更改太多代码,ckbmovestate函数应该是这样的:
function ckbmovestate(element){
element.css("-webkit-transform", "translate(53px, 0px)");
}
如果你经常使用ckbmovestate函数,我建议你制作自己的小插件,你喜欢这样做;
$.fn.ckbmovestate = function(){
$(this).each(function(){
$(this).css("-webkit-transform", "translate(53px, 0px)");
});
}
在jquery中,在问题中代码中的每个循环中,您可以编写以下内容:
$('fieldset:has(:checkbox:checked)').each(function(){
$(this).find('.switch').attr('data-state', 'on')
.ckbmovestate();
});
更改函数以使用参数。
function ckbmovestate( x ) {
x.css("-webkit-transform", "translate(53px, 0px)")
};
相关文章:
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在另一个函数中使用变量this
- 在另一个函数成功结束后调用该函数
- 使用JS函数来使用另一个函数的语法?node.js
- 嵌套到另一个函数中的Fancybox函数;不起作用
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 如何在不预定义的情况下将javascript函数传递到另一个函数中
- 从另一个函数获得$this值
- 如何记录调用另一个函数的函数的返回值
- 它在另一个函数中嵌套后不会输出文本
- 如何将自动完成的值传递到另一个函数中
- 将一个函数作为参数传递给javascript中的另一个函数
- 从另一个函数延迟解析的返回
- Javascript:OnChange事件,将数组变量传递给另一个函数
- 通过引用Javascript中的另一个函数来传递对象方法
- 将变量值传递给另一个函数
- 运行“;非“;单击另一个函数中的函数仅一次
- 用javascript将参数从一个函数传递到另一个函数
- 如何在另一个函数完成后运行