我正在我的页面上实现slim scroll plugin(它将可滚动div上的默认滚动条转换为更漂亮的滚动条),并且实现调用(按照它们的示例)如下所示:
$('#inner-content-div').slimScroll({
height: '250px'
});
由于我需要更多可滚动的不同高度的div,我需要多次调用此插件,每次都将不同的高度作为参数传递。
要缩小这么多代码,让它更具可读性,同时为了避免在我更改CSS时更改我的JS,我可以使用以下内容:
$('#inner-content-div').slimScroll({
height: $(this).css('height')
});
上面的例子,当然,不起作用,这只是我尝试过的东西而且失败了。但它应该说明我的意图。
答案 0 :(得分:1)
不,你不能因为没有将this
的值定义为元素的范围,但你可以使用each
创建这样的范围
$('#inner-content-div').each(function() {
$(this).slimScroll({
height: $(this).css('height')
});
});
答案 1 :(得分:1)
只有在css中为项目设置高度时,您的代码才有效。除此以外
$(this).height();
会做的
答案 2 :(得分:0)
你可以这样做:
var myElem = $('#inner-content-div');
myElem.slimScroll({
height: myElem.css('height')
});
这将按照您的意愿运作。只需指定元素并使用它即可。