【问题标题】:Insert jquery into variable将jquery插入变量
【发布时间】:2016-08-01 09:18:48
【问题描述】:

我正在尝试通过 ajax 加载脚本标记,其中一种方法是将其附加到 .html jquery 函数。 我试过这个:

jQuery(document).ready(function($) {

    var flexsliderThumg = "jQuery(document).ready(function($){/ \
                                $(window).load(function() { \
                                    $('#carousel').flexslider({ \
                                        animation: 'slide', \
                                        direction: 'vertical', \
                                        controlNav: false, \
                                        animationLoop: false, \
                                        slideshow: false, \
                                        itemWidth: 143, \
                                        itemMargin: 2, \
                                        asNavFor: '#slider' \
                                    }); \
                                    $('#slider').flexslider({ \
                                        animation: 'slide', \
                                        controlNav: false, \
                                        animationLoop: false, \
                                        slideshow: false, \
                                        sync: '#carousel' \
                                    }); \
                                }); \
                            });";

      $('.ajax-popup-link').magnificPopup({
        type: 'ajax',
        midClick: true,
        overflowY: "scroll",
        alignTop: false,
        callbacks: {
        ajaxContentAdded: function () {
            $(".avish").html("<script>" + flexsliderThumg + "</script>");
        }
    }
});
    });
});

但由于某种原因,脚本没有执行:

【问题讨论】:

  • 删除引号以不使其成为字符串应该可以。
  • 你为什么要在 javascript 中附加 javascript ?:
  • @madalinivascu 我需要通过 Ajax 加载脚本标签并根据这篇文章:stackoverflow.com/questions/1800585/… 我所做的应该可以工作..
  • a 在您的代码中看不到 ajax 字节
  • 第二个问题是,在你的 dom 准备好之后,你正在附加一个带有 jQuery(document).ready( 的脚本。所以这个函数永远不会被执行,因为站点已经加载了。

标签: jquery html


【解决方案1】:

要在 ajax 之后触发上述库,请将代码放在成功函数中

    $('.ajax-popup-link').magnificPopup({
  type: 'ajax',
  midClick: true,
  overflowY: "scroll",
  alignTop: false,
  callbacks: {
    ajaxContentAdded: function() {
      $('#carousel').flexslider({
        animation: 'slide',
        direction: 'vertical',
        controlNav: false,
        animationLoop: false,
        slideshow: false,
        itemWidth: 143,
        itemMargin: 2,
        asNavFor: '#slider'
      });
      $('#slider').flexslider({
        animation: 'slide',
        controlNav: false,
        animationLoop: false,
        slideshow: false,
        sync: '#carousel'
      });
    }
  }
});

【讨论】:

  • 我可以发誓我昨天试过了,但没用,现在可以了。谢谢!
  • 编辑 js fiddle 的答案中的代码。“成功”不是必需的。
  • 是的,但是对于像我这样的 javascript 新手来说更容易理解。感谢您的帮助,经过两天的研究,我解决了它。
猜你喜欢
  • 2015-12-21
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 2013-07-07
  • 1970-01-01
  • 1970-01-01
  • 2015-02-02
  • 2021-11-03
相关资源
最近更新 更多