I made an example,我直接从jQuery website复制了它,它没有传输..
HTML:
<div class="addToCart">
BLAHHHH
</div>
<br>
<br>
<br>
<br>
<div class="handelv">
MORE BLAAAHH
</div>
jQuery的:
$(document).ready(function() {
$(".addToCart").click(function () {
var i = 1 - $(".addToCart").index(this);
$(this).effect("transfer", { to: $(".handelv").eq(i) }, 1000);
});
});
我有什么问题?
答案 0 :(得分:5)
$(".handelv").eq(i)
其中i = 1
。您的选择器只匹配一个元素;因此您需要将i
设置为0
。.ui-effects-transfer
定义样式,以便发生可见事情。您的所有代码都可以更改为:
$(".addToCart").click(function () {
$(this).effect("transfer", { to: $(".handelv") }, 1000);
});
答案 1 :(得分:1)
您遇到的问题是误解了示例中的选择器是如何被使用的。 index
和eq
方法正在选择第一个或第二个div。
如果您将代码更改为:
$(".addToCart").click(function () {
$(this).effect("transfer", { to: $(".handelv") }, 1000);
});
您还需要设置.ui-effects-transfer
来显示内容;示例中使用了一个边框(它是传输过程中显示的元素的类),并包含jquery UI
答案 2 :(得分:0)
试试这个:
$(document).ready(function() {
$(".addToCart").click(function () {
$(this).effect("transfer", { to: $(".handelv") }, 1000);
});
});