我已经使用html标记制作了带有jQuery的滑块,这些html标记具有类而不是ID,以便我可以将相同的jQuery代码用于其他重复的滑块。
问题是,我希望根据ul
的数量来计算li
的宽度,而不是在CSS中手动设置宽度。当只有一个滑块时,我可以在函数外部设置变量,但是当我必须通过html部件上的事件属性使用它时,我才能将它们用于多个滑块,则必须将变量移动到内部我的函数设置的宽度错误。
这是我的代码:
function OLAR(direction,span) {
var OurNexNPrv = $(span);
var Parent_OLAR = OurNexNPrv.parents('.OLAR');
var UL_OF_OLAR = Parent_OLAR.find('.OLAR_CONTENT ul');
var LI_OF_OLAR = UL_OF_OLAR.find('li');
var LI_OF_OLAR_LENGTH = LI_OF_OLAR.length;
var Quantity_OF_OLAR_PAGES = LI_OF_OLAR_LENGTH / 3;
var Max_Margin_LEFT = -(Quantity_OF_OLAR_PAGES - 1) * 576;
UL_OF_OLAR.css('width',LI_OF_OLAR_LENGTH*192);
var AffectedLeftMargin;
var CurrentLeftMargin = UL_OF_OLAR.css('margin-left');
CurrentLeftMargin = parseFloat(CurrentLeftMargin);
if (direction == 'right') {
AffectedLeftMargin = CurrentLeftMargin - 576;
}
if (direction == 'left') {
AffectedLeftMargin = CurrentLeftMargin + 576;
}
if (AffectedLeftMargin < Max_Margin_LEFT) {
AffectedLeftMargin = 0;
}
if (AffectedLeftMargin > 0) {
AffectedLeftMargin = Max_Margin_LEFT;
}
UL_OF_OLAR.animate({'marginLeft': AffectedLeftMargin}, 1000);
}
$('.CIRCLE_LOAD_RIGHT').click(function () {
OLAR('right');
});
$('.CIRCLE_LOAD_LEFT').click(function () {
OLAR('left');
});
如何通过该函数外部的CSS命令分别为每个ul
设置宽度?
答案 0 :(得分:0)
好的,我的ul标签没有绝对位置;在给定正确的位置以及left:0和bottom:0或right:0和bottom:0(根据您的语言)之后,来自JQuery代码的给定宽度可以与其他所有内容完美地押韵。我已经尝试过使用多个滑块,并且效果很好:) 因此,我们需要一个锚点才能完成这项工作。而且上面提到的这个JQuery代码没有错! 祝你有美好的一天。