2017-08-18 9 views
0

私はAJAXフィルタを備えたライトボックス製品を使用するWoocommerceサイトを持っています。 ライトボックスにアクセスするには、製品の上にマウスを置くとクイックビューボタンが表示されます。AJAXのロード後にJavaScriptを読み込んでいます

AJAXフィルタを読み込むと、ライトボックスクイックビューボタンはクリックできなくなります。 AJAXが読み込まれた後、ボタンにコードを追加する必要があります。 以下はテーマが使用する機能です。

85: function(t, e) { 
      "use strict"; 
      Flatsome.behavior("quick-view", { 
       attach: function(t) { 
        jQuery(".quick-view", t).each(function(t, e) { 
         jQuery(e).hasClass("quick-view-added") || (jQuery(e).click(function(t) { 
          if ("" != jQuery(this).attr("data-prod")) { 
           jQuery(this).parent().parent().addClass("processing"); 
           var e = jQuery(this).attr("data-prod"), 
            i = { 
             action: "flatsome_quickview", 
             product: e 
            }; 
           jQuery.post(flatsomeVars.ajaxurl, i, function(t) { 
            jQuery(".processing").removeClass("processing"), jQuery.magnificPopup.open({ 
             removalDelay: 300, 
             closeBtnInside: !0, 
             autoFocusLast: !1, 
             items: { 
              src: '<div class="product-lightbox lightbox-content">' + t + "</div>", 
              type: "inline" 
             } 
            }), setTimeout(function() { 
             jQuery(".product-lightbox").imagesLoaded(function() { 
              jQuery(".product-lightbox .slider").flickity({ 
               cellAlign: "left", 
               wrapAround: !0, 
               autoPlay: !1, 
               prevNextButtons: !0, 
               adaptiveHeight: !0, 
               imagesLoaded: !0, 
               dragThreshold: 15 
              }) 
             }) 
            }, 300), jQuery(".product-lightbox form").hasClass("variations_form") && jQuery(".product-lightbox form.variations_form").wc_variation_form(), jQuery(".product-lightbox form.variations_form").on("show_variation", function(t, e) { 
             e.image.src ? (jQuery(".product-lightbox .product-gallery-slider .slide.first img").attr("src", e.image.src).attr("srcset", ""), jQuery(".product-lightbox .product-gallery-slider .slide.first a").attr("href", e.image_link), jQuery(".product-lightbox .product-gallery-slider").flickity("select", 0)) : e.image_src && (jQuery(".product-lightbox .product-gallery-slider .slide.first img").attr("src", e.image_src).attr("srcset", ""), jQuery(".product-lightbox .product-gallery-slider .slide.first a").attr("href", e.image_link), jQuery(".product-lightbox .product-gallery-slider").flickity("select", 0)) 
            }), jQuery(".product-lightbox .quantity").addQty() 
           }), t.preventDefault() 
          } 
         }), jQuery(e).addClass("quick-view-added")) 
        }) 
       } 
      }) 
     } 

答えて

1

テーマを編集することができた場合は、成功コールバックに直接コードを記述します。

jQuery.post(flatsomeVars.ajaxurl, i, function(t) { 
    // Code you want to run 
    // Other code. i.e. jQuery(".processing").removeClass ... etc. 
}); 

または関数を定義し、あなたの成功()コールバック関数内で呼び出します。

var myFunction = function() { 
    // Code to run after success 
} 
jQuery.post(flatsomeVars.ajaxurl, i, function(t) { 
    myFunction(); 
    // Other code 
}); 
+0

私が必要としていたことをありがとうございました。問題は、私が実際に実行しなければならないコードが本当にわからないことです。 – Joe

関連する問題