下面有一个简单的滑块效果,但我对它有一些疑问:
它的工作
$(function () {
var slideIndex = 1;
SliderShow(slideIndex);
function plusIndex(n) {
SliderShow(slideIndex += n);
}
function SliderShow(n) {
var Slider = $('.Slider');
var SliderItem = Slider.children('li');
if (n > SliderItem.length) {
slideIndex = 1;
}
if (n < 1) {
slideIndex = SliderItem.length;
}
for (var i = 0; i < SliderItem.length; i++) {
SliderItem[i].style.display = "none";
}
SliderItem[slideIndex - 1].style.display = "block";
}
$('.prevBtn').click(function () {
plusIndex(-1);
});
$('.nextBtn').click(function () {
plusIndex(+1);
});
});
但是当我将SliderItem[i].style.display = "none"
更改为SliderItem[i].hide()
时幻灯片被破坏了,它有什么问题?
Jquery hide和js风格有什么不同? 我误解了某些事情吗?
答案 0 :(得分:2)
因为这个as.POSIXct(datetime, format = "%Y/%m/%dT%H:%M:%S", tz = "UTC")
返回一个没有SliderItem[slideIndex-1]
方法的原生DOM元素,所以需要用jQuery函数hide
包装它:
$
答案 1 :(得分:0)
回答你的第一个问题“ jquery hide和js style之间的区别”
除了一件事之外,这两者的行为很可能是相同的。
使用SliderItem[i].style.display = "none"
您只是将样式display
更改为none
虽然JQuery .hide()
执行了额外的操作,将显示属性的先前值保存到缓存中,以便稍后在使用.show()
时可以返回它。
您可以将此link作为参考。