使用jQuery将文本传递给特定的div

时间:2014-04-21 06:11:18

标签: jquery

我想要播放文字。我正在使用代码: -

var cart = jQuery('.flying-shopping-cart');
    var texttodrag = jQuery(this).html();
    if (texttodrag) {
        var textclone = texttodrag.clone()
            .offset({
            top: texttodrag.offset().top,
            left: texttodrag.offset().left
        })
            .css({
            'opacity': '0.5',
                'position': 'absolute',
                'height': '150px',
                'width': '150px',
                'z-index': '100'
        })
            .appendTo(jQuery('body'))
            .animate({
            'top': cart.offset().top + 10,
                'left': cart.offset().left + 10,
                'width': 75,
                'height': 75
        }, 1000, 'easeInOutExpo');

        setTimeout(function () {
            cart.effect("shake", {
                times: 2
            }, 200);
        }, 1500);

        textclone.animate({
            'width': 0,
                'height': 0
        }, function () {
            jQuery(this).detach()
        });
    }

但它显示TypeError: texttodrag.clone is not a function。它适用于图像,但适用于文本。请帮帮我

2 个答案:

答案 0 :(得分:1)

使用length属性检查html是否存在:

if (texttodrag.length) {

答案 1 :(得分:0)

问题已解决: -

 function flyToCart(flyer, flyingTo, filterId , callBack) {
 // try {
    jQuery( ".currently" ).fadeIn(3000);
    var $jqfunc = jQuery(this);
    var divider = 3;
   flyerClone =  jQuery.trim(flyerClone);
    var flyerClone = jQuery(flyer).clone();
    jQuery(flyerClone).css({
       'font-size': '14px',
       'font-family':'Arial',
       'background':'white',
       'width':'150px',
       'height':'150px',
        position: 'absolute',
        'display':'block',
        'border':'1px solid #cccccc',
        top: jQuery('#'+filterId).offset().top + "px",
        left: jQuery('#'+filterId).offset().left + "px",
        opacity: 1,
        'z-index': 1000
    });
    jQuery('body').append(jQuery(flyerClone));
    if(jQuery(flyingTo)) {
        var gotoX = jQuery(flyingTo).offset().left + 10;
        var gotoY = jQuery(flyingTo).offset().top + 10;
        jQuery(flyerClone).animate({
            opacity: 1,
            left: gotoX,
            top: gotoY,
            width: 150,
            height: 10,
            padding: '5 10 10 10'
        }, 1000,
        function () {;
            jQuery(flyingTo).fadeOut('slowly', function () {
               jQuery(flyingTo).fadeIn('slowly', function () {
                    jQuery(flyerClone).fadeOut('slowly', function () {
                        jQuery(flyerClone).remove();
                        if( callBack != null ) {
                            callBack.apply($jqfunc);
                        }
                    });
                });
            });
        });
    }    
 }

我用过这个脚本,希望它能帮助其他人提供飞行效果。