Javascript ';函数语句需要一个名称';将函数声明为属性时
还是个新手。很抱歉。我试图将一个函数声明为另一个函数的属性。我确信我能做到这一点,而且语法是正确的。但我一直认为“函数statation需要一个名称”是一个错误;暗示它认为我在创建一个匿名函数 这是密码。它在隐藏和显示参数上抛出错误。我错过了什么Javascript ';函数语句需要一个名称';将函数声明为属性时,javascript,jquery,parameters,Javascript,Jquery,Parameters,还是个新手。很抱歉。我试图将一个函数声明为另一个函数的属性。我确信我能做到这一点,而且语法是正确的。但我一直认为“函数statation需要一个名称”是一个错误;暗示它认为我在创建一个匿名函数 这是密码。它在隐藏和显示参数上抛出错误。我错过了什么 function band(){ var width_offset = { high: "left:-376px", low: "up:-200px" , } hide : function(width_offset){
function band(){
var width_offset = {
high: "left:-376px",
low: "up:-200px" ,
}
hide : function(width_offset){
if ($(document).width < 768){
$("#band").animate({width_offset.low}, {queue: false, duration: 200});
}else{
$("#band").animate({width_offset.high}, {queue: false, duration: 200});
};
}
show : function(){ $("#band").animate({left:'0px'}, {queue: false, duration: 200}); }
功能带(){
变量宽度\u偏移={
高:“左:-376px”,
低:“上升:-200px”,
}
隐藏:函数(宽度\偏移量){
如果($(文档).宽度<768){
$(“#band”).animate({width#u offset.low},{queue:false,duration:200});
}否则{
$(“#band”).animate({width#u offset.high},{queue:false,duration:200});
};
}
show:function(){$(“#band”).animate({left:'0px'},{queue:false,duration:200})
}
谢谢。这不是声明属性,而是声明标签和函数语句(确实需要名称) 我猜您希望您的其他代码能够执行
band.hide()
和band.show()
,在这种情况下,语法如下所示:
var band = (function() {
var width_offset = {
high: "left:-376px",
low: "up:-200px",
};
return {
hide: function(width_offset) {
if ($(document).width < 768) {
$("#band").animate({
width_offset.low
}, {
queue: false,
duration: 200
});
} else {
$("#band").animate({
width_offset.high
}, {
queue: false,
duration: 200
});
};
},
show: function() {
$("#band").animate({
left: '0px'
}, {
queue: false,
duration: 200
});
}
};
})();
var band=(函数(){
变量宽度\u偏移={
高:“左:-376px”,
低:“上升:-200px”,
};
返回{
隐藏:函数(宽度\u偏移){
如果($(文档).宽度<768){
$(“#乐队”)。制作动画({
宽度偏移量低
}, {
队列:false,
持续时间:200
});
}否则{
$(“#乐队”)。制作动画({
宽度偏移量高
}, {
队列:false,
持续时间:200
});
};
},
show:function(){
$(“#乐队”)。制作动画({
左:“0px”
}, {
队列:false,
持续时间:200
});
}
};
})();
在JavaScript中不能执行类似的操作:
{"up:-200px"} != { up: '-200px' } # Not equivalent!
相应地更改代码:
function band() {
var width_offset = {
high: { left: "-376px" },
low: { up: "-200px" }
};
return {
hide: function(width_offset) {
if ($(document).width < 768) {
$("#band").animate(width_offset.low, {queue: false, duration: 200});
} else {
$("#band").animate(width_offset.high, {queue: false, duration: 200});
}
},
show : function() {
$("#band").animate({left:'0px'}, {queue: false, duration: 200});
}
}
}
功能带(){
变量宽度\u偏移={
高:{左:“-376px”},
低:{up:“-200px”}
};
返回{
隐藏:函数(宽度\偏移量){
如果($(文档).宽度<768){
$(“#band”).animate(width_offset.low,{queue:false,duration:200});
}否则{
$(“#band”).animate(width_offset.high,{queue:false,duration:200});
}
},
show:function(){
$(“#band”).animate({left:'0px'},{queue:false,duration:200});
}
}
}
请尝试格式化您的代码,使其更具可读性。可能是因为您的答案与其他答案相似?我看不出有什么理由。我为你把它弄平了。