رفتن به مطلب

مشکل اسکریپت ها با آجاکس


پست های پیشنهاد شده

سلام.

من یه قالب فروشگاهی ساختم که صفحه بندی ها و فیلتر ها با آجاکس کار می کنن. حالا وقتی آجاکس استفاده میشه و صفحه جدید لود میشه، دیگه اسکریپت ها ی من کار نمیکنه.

مثلا یکی از اسکریپت ها magnifier شبیه سایت themeforest هست که وقتی ماوس میره روی محصول، یه تصویر tooltip باز میشه.

مشکل چطور برطرف کنم؟

کد magnifier هم به این صورت هست:

 

jQuery(document).ready(function($) {
    function objectWithPrototype(e, t) {
        function i() {}
        var n, r;
        i.prototype = e,
        n = new i,
        n.prototype = e;
        if (typeof t != "undefined")
            for (r in t)
                t.hasOwnProperty(r) && (n[r] = t[r]);
        return n
    }
    var Magnifier = {
        positionMagnifierNextTo: function(e) {
            var t, n, r;
            t = this.magnifierDiv(),
            n = jQuery(e).offset().top + jQuery(e).outerHeight() - t.outerHeight(),
            n < jQuery(window).scrollTop() && (n = jQuery(window).scrollTop()),
            jQuery(e).offset().left + jQuery(e).outerWidth() / 2 >= jQuery(window).width() / 2 ? r = jQuery(e).offset().left - t.outerWidth() : r = jQuery(e).offset().left + jQuery(e).outerWidth(),
            t.css({
                top: n,
                left: r
            })
        },
        showMagnifier: function(e) {
            jQuery(e).attr("data-tooltip1") === undefined && (jQuery(e).attr("data-tooltip1", jQuery(e).attr("title")),
            jQuery(e).attr("title", ""),
            jQuery("img", e).attr("title", "")),
            this.populateMagnifierFrom(e),
            this.positionMagnifierNextTo(e),
            this.magnifierDiv().css({
                display: "inline"
            })
        },
        hideMagnifier: function() {
            this.magnifierDiv().hide()
        },
        magnify: function(e) {
            var t = this;
            jQuery(e).on("mouseenter", function() {
                t.showMagnifier(this)
            }),
            jQuery(e).on("mouseleave", function() {
                t.hideMagnifier(this)
            })
        },
        bindMetaData: function(e) {
            var t = jQuery(e), n = this.magnifierDiv(), r, i, s = n.find("strong").empty(), o = n.find(".author").empty(), u = n.find(".category").empty(), a = n.find(".cost").empty(), f = n.find(".info");
            i = t.attr("data-price"),
            r = typeof jQuery(e).attr("data-price") != "undefined",
            s.html(t.attr("data-title")),
            o.html(t.attr("data-author")),
            u.html(t.attr("data-category")),
            a.html(r ? i : i)
        }
    }
      , ImageMagnifier = objectWithPrototype(Magnifier, {
        populateMagnifierFrom: function(e) {
            var t, n = this.magnifierDiv(), r = n.find("div.size-limiter"), i = jQuery(e);
            i.attr("data-image") ? (t = new Image,
            jQuery(t).attr("src", i.attr("data-image")),
            i.attr("data-preview-height") && (jQuery(t).attr("height", 350),
            jQuery(t).attr("width", 350 / i.attr("data-preview-height") * i.attr("data-preview-width"))),
            r.empty(),
            r.append(t),
            r.show()) : r.hide(),
            this.bindMetaData(e)
        }
    })
      , LandscapeImageMagnifier = objectWithPrototype(ImageMagnifier, {
        magnifierDiv: function() {
            return jQuery("div#landscape-image-magnifier")
        }
    });
	
    jQuery(function() {
        LandscapeImageMagnifier.magnify("a.rtltheme_product")
    });
       });

 

لینک به ارسال

سلام

با این بخش کد مشکل حل نمیشه

باید خطایی که داده میشه رو اول حل کنین

مثلا از کنسول مرورگر چک کنین خطایی که میده چیه

لینک به ارسال
  • 4 هفته بعد...
در در 4/29/2020 at 15:33، Morteza گفته است :

سلام

با این بخش کد مشکل حل نمیشه

باید خطایی که داده میشه رو اول حل کنین

مثلا از کنسول مرورگر چک کنین خطایی که میده چیه

کلا نه این کد. وقتی آجاکس اجرا میشه و نتیجه میده، دیگه کد های دیگر فایل های اسکریپ کار نمیکنه.هیچ خطایی هم نداره.

یعنی باید یه جورایی بعد از اجرای آجاکس، مجددا فایل های اسکریپ هم رندر یا از نو بارگزاری بشه.

لینک به ارسال
  • 1 ماه بعد...

باید این کدها رو بصورت تابع ایجاد کنین و در کال بک ایجاکس اونها رو فراخوانی کنین.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...