酒店网站建设论文,网站正常打开速度慢,建筑网课平台哪个好,江西专业的网站建设制作在存在缓存的情况下#xff0c;删除较前的slide#xff0c;会出现当前slide与后一个slide重复出现的情况
假设当前存在5个slide#xff0c;且这5个slide已缓存#xff0c;则删除slide2后#xff0c;仍为5个slide#xff0c;且slide2的内容变为slide3的内容#xff0c;此…在存在缓存的情况下删除较前的slide会出现当前slide与后一个slide重复出现的情况
假设当前存在5个slide且这5个slide已缓存则删除slide2后仍为5个slide且slide2的内容变为slide3的内容此时5个slide存在2个slide3。
这是因为swiper.virtual.cache是对象而swiper.virtual.removeSlide仅仅是delete swiper.virtual.cache的指定索引即
cache {1:slide1, 3:slide3, 4:slide4, 5:slide5}然后slide进行更新后发现cache 2的位置没有值于是乎就去virtual.slides获取virtual.slides[2]的值赋值到cache 2的位置就会出现cache[2]slide3的情况即
cache {1:slide1, 2:slide 3, 3:slide3, 4:slide4, 5:slide5}virtual.slides是数组virtual.removeSlide后会splice指定位置所以virtual.slides内的数据是正常的virtual.cache没有缓存的情况下会从virtual.slides获取值故而在virtual.removeSlide函数中将大于等于删除索引的 virtual.cache都删除就正常了
数组同理找到需删除的最小值然后将大于等于该值的virtual.cache删除即可