如何在R的slickR包中将轮播指示器替换为自定义文本?
解决slickR轮播指示器替换为自定义文本的问题
要把slickR的数字指示器换成"one""two"这类自定义文本,只需要修改customPaging对应的JS函数,添加一个匹配幻灯片数量的文本数组即可,具体操作如下:
修改后的完整代码
# 定义包含自定义文本的数组,长度要和幻灯片数量一致(这里是11个,对应one到eleven) cP1 <- htmlwidgets::JS("function(slick,index) { const numberWords = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven']; return '<a>' + numberWords[index] + '</a>'; }") opts_dot_number <- settings( initialSlide = 0, slidesToShow = 5, slidesToScroll = 100, focusOnSelect = TRUE, dots = TRUE, customPaging = cP1 ) slick_dots <- slickR( obj = nba_player_logo$uri, height = 100, width = "95%" ) slick_dots + opts_dot_number
关键说明
- 在JS函数内部创建
numberWords数组,按顺序存放你需要的自定义文本,数组长度必须和幻灯片总数一致,否则超出索引的位置会显示undefined - 把原来生成数字的
index+1逻辑,替换成从数组中取对应位置文本的numberWords[index] - 如果后续幻灯片数量变化,同步修改
numberWords数组的内容即可
内容的提问来源于stack exchange,提问作者prdel99
相关产品推荐
相关产品推荐

