我注意到Magento 1.9.0.1 rwd主题现在包含jQuery库并使用" jQuery.noConflict();"关联" $ j"默认令牌。
首先,我想使用google CDN jQuery库而不是本地jQuery库。
第二,如何运行我的jQuery代码?
例如,我尝试插入minicart.phtml:
.....
$_cartQty = 0;
}
?>
<script type="text/javascript">
$j(document).ready(function() {
$('#header-cart').hide();
});
</script>
<a href="#header-cart" class="skip-link skip-cart <?php if($_cartQty <= 0): ?> no-count<?php endif; ?>">
<span class="icon"></span>
........
另外,我尝试在app.js的末尾添加我的代码:
.....
};
$j(document).ready(function() {
ProductMediaManager.init();
});
$j(document).ready(function() {
$('#header-cart').hide();
});
但没有效果。哪里错了?如何在app / js文件夹中的单独文件中运行我的代码?
答案 0 :(得分:1)
“首先,我想使用google CDN jQuery库而不是本地jQuery库。”
在提出简单问题之前,您应该进行更多研究,以下内容来自this post和this post。总的来说,我认为仅靠依赖第三方是不值得的。
在您的主题local.xml
布局文件中添加此内容。
<default>
<reference name="head">
<action method="addItem"><type>skin_js</type><name>js/lib/jquery-1.10.2.min.js</name></action>
<block type="core/text" name="google.cdn.jquery">
<action method="setText">
<text><![CDATA[<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>window.jQuery||document.write('<script src="/skin/frontend/rwd/default/js/lib/jquery-1.10.2.min.js">\x3c/script>');</script>
<script>jQuery.noConflict();</script>]]></text>
</action>
</block>
</reference>
</default>
“第二,如何运行我的jQuery代码?”
$j(document).ready(function() { $('#header-cart').hide(); });
在此您知道必须使用$j
代替$
,但您忘记了第二行!有很多方法可以改变它,
在任何地方使用$j
:
$j(document).ready(function() {
$j('#header-cart').hide();
});
使用the function argument重命名$j
:
$j(document).ready(function($) {
// $ is different inside this function only
$('#header-cart').hide();
});
改为使用Prototype:
// $j is alias for jQuery
$j(document).ready(function() {
// $ is Prototype alias for document.getElementById
$('header-cart').hide();
});
答案 1 :(得分:0)
为避免与prototype.js发生冲突,您需要使用jQuery
代替$
例如,而不是:
$(document).ready(function(){
// do something
});
写:
jQuery(document).ready(function(){
// do something
});