2014-04-21 4 views
-1

Я хочу лететь над текстом. Я использую код: -Перемещайте текст в конкретный div, используя 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. Он работает для изображения, но для текста. пожалуйста, помогите мне

+0

Сначала вы хотите разрешить ошибки консоли. –

+0

, пожалуйста, предоставьте HTML также или jsfiddle –

+0

Я не вижу использования переменной 'imgtodrag' в вашем коде. Попробуйте создать скрипку, чтобы мы могли ее найти. Кроме того, я сомневаюсь, что 'imgtodrag' не является переменной JQuery .. так что попробуйте, как' $ (imgtodrag) .clone() ' – Praveen

ответ

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); 
         } 
        }); 
       }); 
      }); 
     }); 
    }  
} 

Я использовал этот сценарий, надеюсь, что это поможет другим, чтобы обеспечить полет эффект.

1

Используйте свойство длины, чтобы проверить, что HTML есть:

if (texttodrag.length) { 
+0

Теперь также показывает TypeError: texttodrag.clone не является функцией \t вар textclone = texttodrag.clone() error –

+0

Возможно ли перевести текст в конкретный div –

+0

fly ?? вы имеете в виду от одного тега html к другому тегу html, если так вы можете использовать метод appendTo() –

Смежные вопросы