如何通过可变
问题描述:
设置jQuery脚本的选项/参数如果脚本的参数是这样的: 。不是(“.loaded”) .bxSlider({ 模式:rendered.data(‘模式’), speed:rendered.data('speed') }) .addClass('loaded');如何通过可变
例如mode: 'vertical', speed: 1000
...
我怎么能呼应(因为缺乏一个更好的词),这些在我的script.js文件中的文本调用的jQuery插件...是这样的:
var rendered = plRenderItem(section);
var settings = {};
var arguments = '';
if (isNaN(rendered.data('mode'))) {
settings.mode = rendered.data('mode');
}
if (isNaN(rendered.data('speed'))) {
settings.speed = parseInt(rendered.data('speed'));
}
for (var key in settings) {
if (settings.hasOwnProperty(key)) {
if ('boolean' == typeof key) {
arguments += (key + ':' + settings[ key ] + ','); // e.g. captions: false,
} else if ('number' == typeof key) {
arguments += (key + ':' + parseInt(settings[ key ]) + ','); // e.g. speed: 1000,
} else { // string
arguments += (key + ':"' + settings[ key ] + '",'); // e.g. mode: "vertical",
}
}
}
var args = arguments.slice(0, -1); // remove last comma
rendered
.not('.loaded')
.bxSlider({
args: args
})
.addClass('loaded');
的args: args
只是一个尝试......不知道还有甚么可以尝试......但没有它没有奏效。如果是这样的话,一切都会变成肉汁,我不必问这个问题。
非常感谢您的帮助!
请注意,我主要是一个PHP开发人员,而不是很多JS。我通常会让PHP将参数作为文本准备,但是这种特殊的实现不是以这种方式设置的。
答
好吧,长话短说,我没有完全理解第三方的KnockoutJS实现,这就是为什么我很难问一个好问题......但是谢谢所有的尝试。
我的问题的真正答案是,我不应该在{}
包装对象变量...所以.bxSlider(settings)
做了诡计!
我认为我了解情况,但不是最终目标。你想做什么? (注意:knockout.js标签是否相关?) –
uhm ...我建议不要使用一个名为'arguments'的var,这真的很容易引起问题。 –
这与淘汰赛有什么关系? –