Jquery flexslider不';不能在ajax放大弹出窗口中工作
我试图在放大弹出窗口中加载flexslider,但由于某些原因,弹出窗口中的脚本无法工作 使用wordpress函数加载放大弹出窗口Jquery flexslider不';不能在ajax放大弹出窗口中工作,jquery,ajax,wordpress,flexslider,magnific-popup,Jquery,Ajax,Wordpress,Flexslider,Magnific Popup,我试图在放大弹出窗口中加载flexslider,但由于某些原因,弹出窗口中的脚本无法工作 使用wordpress函数加载放大弹出窗口wp\u enqueue\u script(): 然后,通过单击按钮,弹出窗口将打开此文件: <div class="container"> <div class="popup-container"> <?php // Loop start if( have_posts() ): while
wp\u enqueue\u script()
:
然后,通过单击按钮,弹出窗口将打开此文件:
<div class="container">
<div class="popup-container">
<?php
// Loop start
if( have_posts() ):
while( have_posts() ) : the_post();
get_template_part( 'agency', 'popup' );
endwhile;
else :
echo "no agencies found";
endif;
?>
</div><!--.popup-container-->
</div> <!--.container -->
在agency-popup.php内部:
<div class="flexslider">
<ul class="slides">
<li>
<img src="slide1.jpg" />
</li>
<li>
<img src="slide2.jpg" />
</li>
<li>
<img src="slide3.jpg" />
</li>
<li>
<img src="slide4.jpg" />
</li>
</ul>
</div>
<script>
jQuery(document).ready(function($) {
$(window).load(function() {
$('.flexslider').flexslider({
animation: "slide"
});
});
});
</script>
-
-
-
-
jQuery(文档).ready(函数($){
$(窗口)。加载(函数(){
$('.flexslider').flexslider({
动画:“幻灯片”
});
});
});
但是jquery不会加载。。我尝试将它添加到按钮所在的页面中,以及
部分中,在这两种情况下,它都不起作用。
注意:我已经用
wp\u enqueue\u script()
加载了flexslider,并检查了它是否已进入队列,确实如此。您应该在弹出窗口后启用flexslider:
$('.ajax-popup-link').magnificPopup({
type:'ajax',
midClick: true,
overflowY: "scroll",
alignTop: false,
callbacks: {
open: function() {
$('.mfp-content .flexslider').flexslider({
animation: "slide"
});
}
}
});
说明:通过AJAX插入脚本不会运行它。但是,按照规定,如果您使用jQuery
dataType:html
,则会对其进行评估。对于任何可能处理此线程的人,我可以通过使用以下回调来解决此问题:
callbacks: {
ajaxContentAdded: function() {
$('#carousel').flexslider({
animation: 'slide',
direction: 'vertical',
controlNav: false,
animationLoop: true,
slideshow: false,
itemWidth: 143,
itemMargin: 2,
asNavFor: '#slider'
});
$('#slider').flexslider({
animation: 'slide',
controlNav: false,
animationLoop: false,
slideshow: false,
sync: '#carousel'
});
}
}
通过AJAX插入脚本不会运行它-因此,在弹出窗口启动后,您需要启用flexslider。另一个解决方案是提出一个iframe。那么我应该把它放在哪里?检查in文档。尝试进行fowlloing,但仍然不起作用:。非常感谢您的帮助m8..因此我需要在
magnificpoop
函数中使用dataType:html
,并将脚本插入原始文件中(就像我第一次做的那样,没有回调)dataType
用于jQueryajax
方法,真的不知道magnificpoop在这种情况下使用什么,必须检查源代码。
callbacks: {
ajaxContentAdded: function() {
$('#carousel').flexslider({
animation: 'slide',
direction: 'vertical',
controlNav: false,
animationLoop: true,
slideshow: false,
itemWidth: 143,
itemMargin: 2,
asNavFor: '#slider'
});
$('#slider').flexslider({
animation: 'slide',
controlNav: false,
animationLoop: false,
slideshow: false,
sync: '#carousel'
});
}
}