Javascript 如何在一个JS文件中使用多个函数
不久前,一位网页设计师向我展示了如何在一个JS文件上组织我的功能。然而,我很难让它工作。页面上没有错误,但函数似乎没有运行 其思想是,如果项(类)在HTML中,我运行functions.js中的JQuery函数,如果不是,则无需执行任何操作。我已经创建了一个代码笔,所以人们可以看一看 欢迎任何帮助:)Javascript 如何在一个JS文件中使用多个函数,javascript,jquery,function,Javascript,Jquery,Function,不久前,一位网页设计师向我展示了如何在一个JS文件上组织我的功能。然而,我很难让它工作。页面上没有错误,但函数似乎没有运行 其思想是,如果项(类)在HTML中,我运行functions.js中的JQuery函数,如果不是,则无需执行任何操作。我已经创建了一个代码笔,所以人们可以看一看 欢迎任何帮助:) (函数($){ var siteScripts={ /* *函数onReady */ onReady:function(){ 这个是boxOne(); 这个.box2(); }, boxOne:
(函数($){
var siteScripts={
/*
*函数onReady
*/
onReady:function(){
这个是boxOne();
这个.box2();
},
boxOne:函数(){
如果($('.box one')。长度){
$('.box one p').html('Canary one');
}
},
框二:函数(){
如果($('.box two').length){
$('.box two p').html('Canary two');
}
}
};
$().ready(函数()){
//jQuery.noConflict();
onReady();
});
函数makeShort(){
}
})(jQuery)代码>
你好,世界
我爱我的金丝雀
我爱我的金丝雀
只需将jQuery对象传递给函数:
(function ($) {
...
})($);
这将解决您原来的问题
另外,boxOne
和boxTwo
功能中的选择器似乎是错误的,因为它们选择了所有段落,而不仅仅是对应框中的段落
boxOne
中的选择器应为:
$('.box-one p')
$('.box-two p')
在框2中,它应该是:
$('.box-one p')
$('.box-two p')
您的问题是什么?不知道我的函数为什么不能运行?您收到消息的原因是指向codepen.io的链接必须附带代码。
。因此,您提出的问题应始终是独立的。一个完整的工作示例,例如在codepen.io
中总是很有帮助的,但它不应该取代您问题中的代码。只要代码有效并加载依赖项(如库或插件),那么函数放在哪里并不重要。谢谢,但这不是我试图解决的问题。代码笔小提琴显示应该发生的事情。:)那你有什么问题?它根本没有按原样运行。@user143315您编写的“函数似乎没有运行”,这就是meskobalazs解决的问题。如果有其他错误,您需要准确地描述它。您想知道为什么您的函数无法运行,@meskobalazs的回答实际上使它工作。要么通过$jQuery,要么通过jQuery。我也被这方面的反对票弄糊涂了。它回答了这个问题,并进一步说明了为什么选择器的行为(我们认为)应该如此。