问题描述
|
我有一个名为quikflip的jquery插件有问题。基本上,插件可以翻转图像,例如翻转卡片。我正在用它来翻转一张卡片的图像列表,我有20张卡片,效果很好,但是我只想翻转3张卡片并停止显示警报并转到下一个网址。
我是jquery的新手,不知道该怎么做,我试图做出反击,但没有成功。
这是我尝试的:
function count() {
var n = $(\'quickFlip\').length;
if(n > 3){
Alert(\'only 3\' );
}
else {
$(\'.quickFlip\').quickFlip();
//
}
}
$(\'.quickFlip\').click(countChecked);
插件的功能如下所示:
$(function() {
$(\'.quickflip\').quickFlip();
});
插件的代码位于http://jonraasch.com/blog/quickflip-2-jquery-plugin。
我只复制了代码,没有显示任何警报。我有另一个脚本,每次单击该卡时,我都不知道它是否干扰了我发送信息的代码:
<script> $(document).ready(function(){ $(\".element\").click(function () {
var cururl = document.location.href;
var path = $(this).attr(\'title\') ;
var cardid = $(this).attr(\'id\') ;
$.get(\'ajaxprocess.PHP\',{Path: path,url: cururl,cardid:cardid},function(data){
$(\'#test\').text(data);});
});
});
</script>
元素就像是
<div class=\"quickFlip\"> <div class=\"element\" id= \"id\" title =\"title\">
<a href=\"#\" class=\"quickFlipCta\"> </a>
</div>
the code for fliping is Now like
<script type=\"text/javascript\">
$(function() { $(\'.quickflip\').quickFlip(); });
$(function() {
var timesFlipped = 0;
var threshold = 3; $(\'.quickflip\').quickFlip().click(function() {
if(timeFlipped++ >= threshold) { alert(\"Redirecting\"); // do more stuff }});
});
</script>
我究竟做错了什么 ?
解决方法
无需查看插件的代码,我认为最简单的解决方案是将另一个
.click()
事件绑定到您的$(\'.quickflip\')
,跟踪用户“翻转”了多少次,然后执行n次操作。喜欢:
$(function() {
var timesFlipped = 0;
var threshold = 3;
$(\'.quickFlip\').quickFlip().find(\'.quickFlipCta\').click(function() {
if(++timesFlipped >= threshold) {
alert(\"Redirecting\");
// do more stuff
}
});
});
基本的工作示例:http://jsfiddle.net/sMYzS/8/
更多信息:
$(\'.quickFlip\').quickFlip();
实际上似乎并没有进行翻转,它只是设置了翻转功能(将事件绑定到容器等)。所以你
else {
$(\'.quickFlip\').quickFlip();
}
似乎是错误的方法。基本上,在调用函数时您正在做的是
if there are more than 3
alert something
else
initialize the quickflip functionality
希望这可以帮助。