【发布时间】:2020-12-26 16:46:48
【问题描述】:
我正在使用在我的网站上显示来自 Instagram 的图像的插件。当我尝试为插件创建的任何元素应用 jQuery(任何 jQuery,即$('.instagram_gallery').css('display', 'none'))时,它在控制台中有效,但在代码中无效。我知道 jQuery 在加载 DOM 之前不会看到此代码。但问题是没有一个解决方案有效 - 我尝试了 $(document).ready(function() {}) 和 $(window).on('load', function(){})。
你可以在这个网站上看到插件(Instagram画廊部分):10oz.ru/mlight
带有设置的文件,我试图在其中添加 jQuery:
<?php
class shopInstafeedPlugin extends shopPlugin
{ public static function display()
{
$plugin = wa('shop')->getPlugin('instafeed');
$settings = $plugin->getSettings();
$settings_json = json_encode($plugin->getSettings());
$root = $plugin->getPluginStaticUrl();
$html = <<<HTML
<div id='instafeed'></div>
<script src="{$root}js/jquery.instagramFeed.min.js"></script>
<script>
(function($){
$(window).on('load', function(){
$.instagramFeed($settings_json);
});
})(jQuery);
</script>
<style>
HTML;
if (!$settings['styling']) {
$html .= $settings['css'];
}
return $html;
}
}
所以最后这段代码对我有用:
var settings = $settings_json;
var callback = {callback: function (data){
$('.instagram_gallery').hide();
}};
jQuery.extend(settings, callback);
(function($){
$(window).on('load', function() {
$.instagramFeed(settings);
});
})
(jQuery);
【问题讨论】: