1

我正在使用这个 JQuery UI 组件:

http://docs.jquery.com/UI/Effects/Transfer

我的代码是这样的:

$(".button").click(function () {
  var source = $(this).attr("src");
  $(".ui-effects-transfer").css("background-image", "url("+source+")");  
  $(this).effect("transfer", { to: $(".target") }, 1000);
});

但是这一行不影响传输脚本:

$(".ui-effects-transfer").css("background-image", "url("+source+")"); 

我怎样才能解决这个问题?

4

2 回答 2

5
$(".button").click(function () {
  var source = $(this).attr("src");
  $(this).effect("transfer", { to: $(".target") }, 1000); // <- comes first
  $(".ui-effects-transfer:last").css("background-image", "url(" + source + ")");
});

工作示例

于 2013-04-10T20:33:59.943 回答
2

.ui-effects-transfer在效果开始之前可能没有元素。这是来自 jquery 论坛的@kbwood.au 用户的正确答案:

$('.button').click(function() {
    $('#transferEffect').remove(); // Remove any existing one
    $('<style id="transferEffect" type="text/css">' + // Add new one
        '.ui-effects-transfer { background-image: url(' + $(this).attr('src') + '); }' +
        '</style>').appendTo('head');
    $(this).effect('transfer', {to: $('.target')}, 1000);
});  
于 2012-06-28T06:01:59.677 回答