此弹出窗口不适用于最新的原生wordpress jQuery v1.11.0
我需要将一些内容加载到弹出窗口中,并在此处显示一个示例。 它的独立工作效果很好,但是当我尝试使用原生jQuery v1.11.0实现wordpress时,它不起作用。 然而,它再次使用代码中给出的原始jQuery源代码http://code.jquery.com/jquery-latest.pack.js
。
使用Javascript
$(document).ready(function() {
//select all the a tag with name equal to modal
$('a[name=modal]').click(function(e) {
//Cancel the link behavior
e.preventDefault();
//Get the A tag
var id = $(this).attr('href');
//Get the screen height and width
var maskHeight = $(document).height();
var maskWidth = $(window).width();
//Set heigth and width to mask to fill up the whole screen
$('#mask').css({'width':maskWidth,'height':maskHeight});
//transition effect
$('#mask').fadeIn(1000);
$('#mask').fadeTo("slow",0.8);
//Get the window height and width
var winH = $(window).height();
var winW = $(window).width();
//Set the popup window to center
$(id).css('top', winH/2-$(id).height()/2);
$(id).css('left', winW/2-$(id).width()/2);
//transition effect
$(id).fadeIn(1000);
});
//if close button is clicked
$('.window .close').click(function (e) {
e.preventDefault(); //Cancel the link behavior
$('#mask').hide();
$('.window').hide();
});
//if mask is clicked
$('#mask').click(function () {
$(this).hide();
$('.window').hide();
});
$(window).resize(function () {
var box = $('#boxes .window');
//Get the screen height and width
var maskHeight = $(document).height();
var maskWidth = $(window).width();
//Set height and width to mask to fill up the whole screen
$('#mask').css({'width':maskWidth,'height':maskHeight});
//Get the window height and width
var winH = $(window).height();
var winW = $(window).width();
//Set the popup window to center
box.css('top', winH/2 - box.height()/2);
box.css('left', winW/2 - box.width()/2);
});
});
HTML
<a href="#dialog" name="modal">Simple Window Modal</a>
<div id="boxes">
<div id="dialog" class="window">
Simple Modal Window | <a href="#"class="close"/>Close it</a>
</div>
<div id="mask"></div><!-- Mask to cover the whole screen -->
</div><!-- end of boxes -->
任何想法如何使代码与最新的WordPress的jQuery的工作,实际上是在视图源中看到的jQuery v1.11.0
。 因为加载jquery的两个源代码并没有什么意义,所以我希望它能够与wordpress一起使用。
更新 :建议我已经用jQuery替换了所有$,并使用了wp_enqueue_script和wp_register_script,弹出窗口按预期工作。 我只需要有人来看看我如何排队剧本。 这里有什么不对吗?
function adding_scripts() {
wp_register_script( 'my_amazing_script', get_template_directory_uri() . '/pop-stuff.js', array('jquery') );
wp_enqueue_script( 'my_amazing_script', get_template_directory_uri() . '/pop-stuff.js', array() );
}
add_action( 'wp_enqueue_scripts', 'adding_scripts' );
在WordPress中, $()
语法总是被其他脚本库使用,导致冲突问题并且无法调用jQuery函数。 你应该使用jQuery()
来代替
参考:链接
链接地址: http://www.djcxy.com/p/61209.html上一篇: This popup does not work with latest native wordpress jQuery v1.11.0