我正在研究JQuery插件,我是新手,我已经做了以下工作: code.js
var isstatic = false;
$(document).ready(function () {
$(".div-to-slide").hide();
$(".show_hide").show();
$(".show_hide").click(function () {
$(".div-to-slide").toggle("slide");
if (isstatic) {
$("#myImg").attr("src", "/1.png");
isstatic = false;
}
else {
$("#myImg").attr("src", "/final-cropped.gif");
isstatic = true;
}
});
});
Everyhting正在代码中工作,但我被要求制作一个jQuery插件,以便用户写一行,并能够将其调用到他/她的网站。 我有点困惑怎么做,我试过的是这个
(function ($) {
$.fn.recordsign = function () {
var isstatic = false;
$(".div-to-slide").hide();
$(".show_hide").show();
$(".show_hide").click(function () {
$(".div-to-slide").toggle("slide");
if (isstatic) {
$("#myImg").attr("src", "/1.png");
isstatic = false;
}
else {
$("#myImg").attr("src", "/final-cropped.gif");
isstatic = true;
}
});
}
})(jQuery);
我已经阅读了一些教程,但是不知道在哪里写$ .extend,设置,选项和其他特定于插件的代码然后如何调用它,目前我这样称呼它:
<a class="myclass" href="#">Function call</a>
$(document).ready(function () {
$('.show_hide').recordsign();
});
我觉得有些不对劲,请抽出时间帮助解决这个问题。
答案 0 :(得分:1)
我认为你应该使用
$(document).ready(function () {
$('.myclass').recordsign();// .myclass not .ma
});
此外,您需要关注一些要点
this
作为当前对象。data-*
属性来获取它的运行时间。isstatic
应该通过选项传递,默认情况下可以是false
。