我一直在学习一些教程来学习创建自己的插件的基础知识..但它似乎没有用。
我尝试做的只是创建一个基本幻灯片切换下拉菜单(单击一次以显示div - 再次单击以折叠它)
我拥有的插件内容:
$(document).ready(function () {
(function ($) {
$.fn.dropdown = function () {
$.fn.dropdown = function () {
this.preventDefault();
$('.expanded').slideToggle(1000);
}
return this;
};
}(jQuery));
});
我的HTML是:
<div class="Btn">Click Here</div>
<div class="expanded">
Here<br/>
Is<br/>
Some<br/>
Extra<br/>
Content<br/>
</div>
要执行插件,我有:
$( ".Btn" ).click(function() {
dropdown();
});
如果有人可以帮助我解决我出错的地方,我们将不胜感激。
由于
答案 0 :(得分:1)
要执行插件,应该是:
$( ".Btn" ).click(function() {
$(this).dropdown();
});
答案 1 :(得分:1)
This是一个有效的缩减版本。
有些事情,由于某种原因,你将$.fn.dropdown
包裹在$.fn.dropdown
内,不知道为什么,但我删除了它。此外,jQuery函数不像普通的javascript函数那样工作,它们需要事先$().
,因为它们在jQuery的范围内。最后this.preventDefault
在这种情况下不会做任何事情,因为没有默认值。
答案 2 :(得分:1)
查看这个jsfiddle:http://jsfiddle.net/yvanavermaet/sc6Bw/1/
$( document ).ready(function() {
$( ".Btn" ).click(function() {
$(this).dropdown();
});
});
(function( $ ) {
$.fn.dropdown = function() {
$('.expanded').slideToggle(1000);
return this;
};
}( jQuery ));
正如有些人所说:
修改强>: 顺便说一句,尝试遵循1编码标准。添加点击事件时,您使用的是双引号,在添加slideToggle时,您使用的是单引号。以及空间。