我有几个js语句,如下所示
initSlider();
$('#slider ul li:last-child').prependTo('#slider ul');
$(window).resize(function(){
initSlider();
});
$('.slider__next').click(function () {
event.preventDefault();
moveRight();
});
//Slider init
function initSlider() {
var slider = $('#slider');
var sliderUl = slider.find('ul');
var sliderItems = slider.find('ul li');
var sliderCount = $('#slider ul li').length;
var viewportHeight = $(window).outerHeight();
var viewportWidth = $(window).outerWidth();
slider.css({
width: viewportWidth,
height: viewportHeight,
});
sliderUl.css({
width: sliderItems.outerWidth() * sliderCount,
height: viewportHeight,
marginLeft: - viewportWidth,
});
sliderItems.css({
width: viewportWidth,
height: viewportHeight,
});
}
//Slider next and slider prev controls
function moveRight() {
var viewportWidth = $(window).outerWidth();
$('#slider ul').animate({
left: - viewportWidth
}, 500, function () {
$('#slider ul li:first-child').appendTo('#slider ul');
$('#slider ul').css('left', '');
});
}
我希望你明白这个主意。这些陈述看起来都很相似;然而#...内部的价值是不同的。此外,可以有多个甚至只有一个这样的陈述。我希望这些都放在一个我可以调用的函数中。考虑到我不确定有多少陈述,如何做到这一点?我不希望每个语句都有一个名为seveal times的方法。不知怎的,我想我可以传递#...的所有值的参数然后它能完成工作吗?
答案 0 :(得分:2)
这应该这样做
$('#' + xxx_slot_name1 + ', #' + xxx_slot_name2 + ', #' + xxx_slot_name3 + ', #' + lorem_ipsum).children().remove()
只需用逗号分隔每个选择器即可抓取所有