在你开始阅读之前...你应该知道下面有很多问题...我将非常感谢任何帮助,以了解麻省理工学院代码的任何部分(jQuery v0.4的jFlip插件),我觉得很难理解
如果您愿意,可以在http://plugins.jquery.com/project/jFlip
找到代码看到它在http://www.jquery.info/scripts/jFlip/demo.html
工作< script type =“text / javascript>
(function($){
$(function(){
$("#g1").jFlip(800,800,{background:"green",cornersTop:false}).
bind("flip.jflip",function(event,index,total){
$("#l1").html("Image "+(index+1)+" of "+total);
});
});
})(jQuery);
< /脚本>
我认为难以实现的另一个代码安静是:
; (function($) {
var Flip = function(canvas, width, height, images, opts) {
//private vars
opts = $.extend({ background: "green", cornersTop: true, scale: "noresize" }, opts);
var obj = this,
el = canvas.prev(),
最后一个对我很重要的是:
.click(function(){
if(onCorner && !flipping) {
el.trigger("flip.jflip",[index,images.length]);
}
return false;
})
现在是感谢Trufa这些链接的好时机: How to get the bookflip effect with JavaScript
非常感谢你的时间 阿萨夫
答案 0 :(得分:1)
正如Sarfraz建议的那样,你需要阅读一本关于Jquery的手册。
我会回答你的问题,以便快速帮助你:
$ use表示它是一个Jquery对象。因此,您可以访问Jquery提供的所有方法/属性等。
$(“#g1”)不是委托,是在jquery对象中转换id为“g1”的html的方法。
“;”在“;(function($)”之前我认为你不需要它。
“var中有一个var”,我想你引用这个部分“{background:”green“,c”,这是一种将由不同变量组成的对象传递给方法/的方法类。
“el”用“obj”定义,完整的句子是“var obj,el = ...”,因此定义为变量。
答案 1 :(得分:1)
1个问题
这里有一个自动执行(function(){})();
的匿名函数,在其中你将jQuery对象(实际上是一个函数)作为变量传递给$
。这是相同的(称之为LALA
而不是$
):
(function(LALA){
LALA(function(){
LALA("#g1").jFlip(800,800,{background:"green",cornersTop:false}).
bind("flip.jflip",function(event,index,total){
LALA("#l1").html("Image "+(index+1)+" of "+total);
});
});
})(jQuery);
Bind在jQuery对象中实现为单独的子函数(方法)。其中有更复杂的代码处理不同浏览器中的事件,但确保您的事件不会绑定用于查看页面的米。
这个#g1
是CSS样式选择器。您将不得不在谷歌上获取更多信息。这意味着“获取ID ='g1'的HTML元素并在其上调用以下方法”。在您的情况下,您选择的元素包含ID=g1
并在其上调用jFlip()
。要选择所有具有类ELEMENT
的元素,您可以像$(".ELEMENT")
一样使用点。
2问题
只有在同一行中写两个或多个语句时才需要分号:
alert("lalala") var a = 2+3
所以你必须把它们写在不同的行中,如下所示:
alert("lalala")
var a = 2+3
或分开;在同一行:
alert("lalala"); var a = 2+3
对于vars,您必须知道JS中没有类型。您可以在var,integer,string ...和对象中使用函数。对象由使用关键字new
的函数组成。在您的代码中,您将参考Flip
保存到执行某些操作的匿名函数中...不需要声明变量var
,因此您可以拥有el = 10
并且它是有效变量定义
3问题
Dot语法不存在。您正在jQuery对象上调用.click()
,该对象之前是.
之前的行。
对于超时,您将需要更多的XP ...谷歌更多......