注册/排队脚本
Register / Enqueue Scripts
我想整洁,把所有的JS进入。JS文件和注册和排队。到目前为止,我在这方面取得了"巨大"的成功。我在我的functions。php主题中有:
wp_register_script( 'myscript', get_stylesheet_directory_uri() . '/js/jquery.myscripts.js', array( 'some-other-script' ), '1.0.6', true );
像这样的脚本是在JS脚本之后调用的,JS脚本正在创建DOM,我希望在我的JS文件中使用。在我的网站来源中看起来不错:
<script type="text/javascript" src="http://example.com/wp-content/plugins/some-other-plugin/lib/some-other-plugin/some-other-script.js?ver=3.2.2"></script>
<script type="text/javascript" src="http://example.com/wp-content/themes/some-theme/js/jquery.myscript.js?ver=1.0.5"></script>
在我的问题页面的模板文件中,我添加了:
<?php wp_enqueue_script( 'myscript' ); ?>
这是我的JS代码,它仍然打印"检测到足够小的窗口",但之后不执行任何代码。
var bMenuVisible = true;
jQuery(function ($) {
$( document ).ready(function() {
if( $( window ).width() < 850 ){
console.log( "Detected small enough window" );
$( ".someClass" ).click(function() {
console.log( "Clickedy Click" );
if (bMenuVisible == true) {
$( ".some-other-class" ).fadeOut( "slow", function() {
console.log( "fading out!" );
});
bMenuVisible = false;
}
else {
$( ".some-other-class" ).fadeIn( "slow", function() {
console.log( "fading in!" );
});
bMenuVisible = true;
}
});
}
现在到与WP相关的问题,当我将代码添加到页面本身的模板中时,它像一个魅力一样工作,但是一旦我将其注册为脚本并在同一地点排队,它就停止工作/可能停止看到DOM。所以我不禁想知道我是否在注册和排队时做错了什么?
我已经改变了JS看起来如下方式,没有anno函数和一些更好的分离,仍然不工作,虽然:(
var bMenuVisible = true;
function myApp () {
jQuery('.royalSlider').royalSlider('updateSliderSize', true);
console.log( "ready!" );
console.log( "Window width: " + jQuery( window ).width());
if( jQuery( window ).width() < 850 ){
console.log( "Detected small enough window" );
jQuery( ".someClass" ).click(function() {
console.log( "Clickedy Click" );
console.log( jQuery( document ).ready() );
if (bMenuVisible == true) {
jQuery( ".some-other-class" ).fadeOut( "slow", function() {
console.log( "fading out!" );
});
bMenuVisible = false;
}
else {
jQuery( ".some-other-class" ).fadeIn( "slow", function() {
console.log( "fading in!" );
});
bMenuVisible = true;
}
});
}
}
jQuery( document ).ready( myApp );
阅读这篇文章:http://lostechies.com/derickbailey/2012/05/22/function%E2%80%A6-vs-function%E2%80%A6-or-domready-vs-the-module-pattern/
问题很可能是:
jQuery(function ($) {
$( document ).ready(function() {
我不明白调用匿名函数等待DOM准备好有什么意义
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 借助asp.net验证或java脚本对多个文本进行验证
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- Java脚本时间添加
- 不显示带有本地json文件数据的谷歌地图脚本
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 从远程脚本获取用户IP
- 如何根据时间运行不同的脚本
- 如何将字符串值从php页面发送到java脚本页面
- 有没有更简单的方法在 Wordpress 中为多个页面模板排队脚本
- jQuery没有在Wordpress中定义,但我的脚本被正确排队
- 根据页面条件对脚本进行排队
- 将脚本与 PHP 决策排队
- WordPress-排队脚本/CSS的问题
- Wordpress排队脚本
- 如何从CDN将WordPress中的脚本排队
- 注册/排队脚本
- 在wordpress子主题中排队脚本顺序错误
- 如何停止在wordpress短代码内多次排队相同的脚本
- 是否可以在function.php wordpress上对脚本src进行排队