Javascript 在Jquery中按类将自定义函数应用于元素
可能是另一个愚蠢的问题,但我想这是你怎么做的 我有一个功能,其中包括使一个元素可见,然后在舞台上设置动画。我想将其应用于以“.start”类开头的元素,然后应用于整个项目中的其他元素Javascript 在Jquery中按类将自定义函数应用于元素,javascript,jquery,html,css,function,Javascript,Jquery,Html,Css,Function,可能是另一个愚蠢的问题,但我想这是你怎么做的 我有一个功能,其中包括使一个元素可见,然后在舞台上设置动画。我想将其应用于以“.start”类开头的元素,然后应用于整个项目中的其他元素 function showthis() { $(this).show().css({ "display": "block" }).animate({ "top": "40px" }, "fast"); console.log('THIS IS: ' + this); }; $('.start').
function showthis() {
$(this).show().css({ "display": "block" }).animate({ "top": "40px" }, "fast");
console.log('THIS IS: ' + this);
};
$('.start').showthis();
或
如果我使用第一种方法,我会得到一个错误,说“showthis not a function”。通过第二种方式,我在控制台中得到了“THIS IS:[对象窗口]”
我很确定我犯了一个新手错误,所以所有的帮助都将被感激 试着像这样扩展
(function($){
$.fn.showthis = function() {
this.show().animate({ "top": "40px" }, "fast");
return this;//for method chaining - $('.start').showthis().append()...
};
}(jQuery));
然后您应该能够像$('.start')那样调用代码>注意,上面的$(this)
是不需要的,因为showthis
是具有show()
的同一对象的一部分,所以这个
本身就足够了
看
如果不希望扩展,则必须使用传入选择器或传入jQuery对象本身来修复此问题
function showthis(selector) {
$(selector).show().animate({ "top": "40px" }, "fast");
};
然后调用showthis('.start')代码>
注意,.css('display','block')
已被删除,因为它与.show()相同a返回此值代码>在这里会很好,因为方法链接;-)如果没有一个答案有效,或者你仍然面临麻烦,请告诉我,以便我能提供帮助
function showthis(selector) {
$(selector).show().animate({ "top": "40px" }, "fast");
};
function showthis(obj) {
$(obj).show().css({ "display" : "block" } ).animate({ "top": "40px" }, "fast");
console.log('THIS IS: '+ obj);
};
showthis('.start');