(杰奎里)我想知道为什么这段代码不起作用
(JQuery) I'm wondering why this code doesn't work?
>我已将其缩小到声明" position
' 的行
$(document).ready(function(){
var sliders = new Array("#left","#middle","#right");
var links = new Array("#fLink","#sLink","#tLink");
$(".link").click(function(){
var position = $("#" + sliders[links.indexOf("#" + this.id)]).position().left();
alert(position);
$(".slider").animate({left:gap}, 1500);
});
});
sliders
已经有#
,你不想在$()
内使用它时再次添加它,你最终会"##left"
作为选择器字符串传入。另请注意,left
是一个值,而不是一个函数,因此在它之后没有()
。
所以:
var position = $("#" + sliders[links.indexOf("#" + this.id)]).position().left();
// Remove -------^^^^^^ and -------------------------------------------------^^
对于你正在做的事情,我不会使用一对数组,我会使用:
- 查找对象,或
- 命名约定,或
data-*
属性
最后两个是微不足道的,但这是第一个的工作原理:
$(document).ready(function () {
var sliders = {
"fLink": "#left",
"sLink": "#middle",
"tLink": "#right"
};
$(".link").click(function () {
var sliderSel = sliders[this.id];
if (sliderSel) {
var position = $(sliderSel).position().left;
alert(position);
$(".slider").animate({
left: gap
}, 1500);
}
});
});
旁注:gap
是否在尚未显示的代码中的某个位置定义?如果没有,你会想要这样做。
相关文章:
- d3js文本传输-示例代码不起作用
- 滚动动画代码不起作用
- 为什么此验证代码不起作用
- 我的jquery代码不起作用.为什么?
- jquery中的PHP代码不起作用
- 谷歌地图代码不起作用
- 简单文本字段计算不起作用
- 为什么这个代码不起作用?我花了很长时间试图弄清楚这一点
- 除非连接插件,否则 jQuery 代码不起作用
- jQuery .focus() 在 Safari(桌面)的搜索字段中不起作用
- 简单的JavaScript代码不起作用
- Angular资源对我的代码不起作用
- 在加载javascript之前让页面加载的代码不起作用
- 为什么这个jquery代码不起作用
- 直接从代码笔复制的圆环图代码不起作用
- javascript代码不起作用
- JavaScript-为什么这段代码不起作用
- 为什么这段代码不起作用?Javascript
- (杰奎里)我想知道为什么这段代码不起作用
- 这段jquery代码不起作用