在Javascript中,函数可以是构造函数的参数,但我想在创建新对象时分配一个条件值来进行求值。
var obj = {
prop: function(){ return 1; },
prop2: "asd"
};
console.log(obj.prop); // This prints "function() ..."
使用这种方法,有没有办法让道具值1?
对于那些想知道我为什么要这样做的人,我有以下代码,如果某些条件为真,我需要传递一个不同的偏移量参数。
$('#primary-menu > ul > li > a[href*=#]').smoothScroll(
{ preventDefault: true, easing: 'swing', speed: 700, offset: -200, exclude: ['.external a'],
beforeScroll: function () {
// Disable all waypoints on internal divs which are linked to from the menu
$('#primary-menu > ul > li > a[href*=#]').each(function () {
var element_id = MO_THEME.get_internal_link($(this).attr('href')); // Gives me ids of div's with ids like #work,#service, #portfolio etc.
$(element_id).waypoint('disable');
});
},
afterScroll: function () {
// Enable all waypoints on internal divs which are linked to from the menu
$('#primary-menu > ul > li > a[href*=#]').each(function () {
var element_id = MO_THEME.get_internal_link($(this).attr('href')); // Gives me ids of div's with ids like #work,#service, #portfolio etc.
$(element_id).waypoint('enable');
});
}});
答案 0 :(得分:2)
您可以更改smoothScroll
plugin after instantiation的任何选项:
初始调用后设置选项
如果您需要在调用
.smoothScroll()
后更改任何选项,可以将“options”字符串作为第一个参数并将options对象作为第二个参数传递。
$el.smoothScroll('options', {
offset: newValue
});