【发布时间】:2017-01-12 18:21:36
【问题描述】:
我这几天一直在寻找这个问题的解决方案,但没有成功,希望您能理解。
我有这个代码滑块图像 jquery:
https://jsfiddle.net/87ucvsn6/2/
Javascript:
jQuery(document).ready(function ($) {
var slideCount = $('#slider ul li').length;
var slideWidth = $('#slider ul li').width();
var slideHeight = $('#slider ul li').height();
var sliderUlTotal = slideCount * slideWidth;
$('#slider').css({ width: slideWidth, height: slideHeight });
$('#slider ul').css({ width: sliderUlTotal, marginLeft: - slideWidth });
$('#slider ul li:last-child').prependTo('#slider ul');
function toLeft() {
$('#slider ul').animate({
left: + slideWidth
}, 200, function () {
$('#slider ul li:last-child').prependTo('#slider ul');
$('#slider ul').css('left', '');
});
};
function toRight() {
$('#slider ul').animate({
left: - slideWidth
}, 200, function () {
$('#slider ul li:first-child').appendTo('#slider ul');
$('#slider ul').css('left', '');
});
};
$('a.prev').click(function () {
toLeft();
});
$('a.next').click(function () {
toRight();
});
});
我知道所有工作原理,但我想将 .animate 更改为 .css 像这样:
function toRight() {
$('#slider ul').animate({
left: - slideWidth
}, 200, function () {
$('#slider ul li:first-child').appendTo('#slider ul');
$('#slider ul').css('left', '');
});
};
收件人:
function toRight() {
$('#slider ul').css({
left: - slideWidth
}, 200, function () {
$('#slider ul li:first-child').appendTo('#slider ul');
$('#slider ul').css('left', '');
$('#slider ul').addClass('selected');
});
};
但这不起作用,我认为问题出在:
$('#slider ul').css( {left: - imgWidth});
$('#slider ul').css('left', '');
我以前用其他滑块做过这个,但是那个滑块没有无限循环,那个滑块从最后一个滑块转到第一个滑块,但是这个滑块是无限的,为什么 prependTo 和 appendto 不起作用。
我想在点击后将宽度重置为 0 但不改变滑块的位置,如 .animate
我的目标是使用不同的过渡 css3:
$('#slider ul').addClass('selected');
.selected{
transition:all 1.0s ease-in-out;
}
¿我该怎么做?
感谢阅读
【问题讨论】:
标签: jquery image slider append jquery-animate