This website uses cookies to personalize your experience. By using this website you agree to our cookie policy.

Reply To: Modal popup for attachments – images results

Home Forums Product Support Forums Ajax Search Pro for WordPress Support Modal popup for attachments – images results Reply To: Modal popup for attachments – images results

#48122
DusanVDusanV
Participant

Just to finish it up if someone else would require this.

The previous solution didn’t work well. On pagination the items were zero sized. So I had to change the code into this:

var isSearchChanged = false;

function ajaxSearchModal() {

    // change the default behavior of ajax search module
    // replace the items to remove the default click behavior
    // add click to open modal popup "#popup-image-view"
    // if contacts, do not add the modal popup

    ajaxSearchIntervalChecker = setInterval(function () {

        if (isSearchChanged) {

            // if search was performed, alter the items click
            $('.results .item').each(function () {

                $(this).on("mouseover", function () {

                    $(this).replaceWith($(this).clone().off('click').on('click', function (e) {

                        e.preventDefault();

                        var imgSrc = $(this).find('.asp_content .asp_res_url').attr('href');

                        // Check if imgSrc is not null or undefined, if true, open modal and set the image source
                        imgSrc ? (
                            DiviArea.show('modalimage'),
                            $("#popup-image-view").attr("src", imgSrc)
                        ) : null;

                    }));

                });

            });

            isSearchChanged = false;

        }

    }, 100);

    $(".asp_main_container").on("asp_results_show", function (event, id, instance, phrase) {

        isSearchChanged = true;

    });

}

And disabled grid items animation to avoid visual glitches.

  • This reply was modified 2 years ago by Ernest MarcinkoErnest Marcinko. Reason: made it visible