javascript,jQuery同时使用两个不同的输入运行单个函数

javascript, jQuery running a single function with two different inputs at the same time

本文关键字:两个 输入 运行 函数 单个 jQuery javascript      更新时间:2023-09-26

嘿,伙计们,现在我在摆弄javascript,遇到了一个问题。

所以问题是,我在互联网上下载了一个小的jQuery幻灯片,它是一个简单的渐变幻灯片(我把它砍成了碎片,删除了我认为不必要的东西),我试图让它同时运行两个独立的幻灯片。我希望这些幻灯片在宽度和高度上有不同的尺寸,最好是过渡时间,我的问题是该功能只能运行一个幻灯片。

$(document).ready(function(){
    $('#slideshow').fadeSlideShow({
        width: 300,
        height: 343,
    });

有没有一种方法可以让我说把#slideshow改成#slideshow1,然后让它和#slideshow同时在同一个代码位上运行?很明显,我可以更改一些名字,并有大量的文本,但我更喜欢找到一种更整洁的方式。

我是一个新手,所以任何建议都非常感谢

$(document).ready(function()
{
     $('#slideshow').fadeSlideShow({ width: 300, height: 343 });
     $('#slideshow1').fadeSlideShow({ width: 300, height: 343 });
});

假设插件使用多个元素:

  $('#slideshow', '#slideshow1').fadeSlideShow({
    width: 300,
    height: 343
  });

如果插件是根据最佳实践进行编码的,那么以上内容应该可以使用。在选择器字符串数组上循环也以相同的方式工作。

  var slideshows = ['#slideshow', '#slideshow1', '#slideshow2'];
  $.each(slideshows, function(el, i) {
    $(el).fadeSlideShow({
      width: 300,
      height: 343
    });
  });

否则,如果div按逻辑顺序排列,则可以通过编程方式构造选择器。

  var slideshowStart = 1;
  var slideshowEnd = 50;
  for(var i = slideshowStart; i <= slideshowEnd; i++) {
    $('#slideshow'+i).fadeSlideShow({
      width: 300,
      height: 343
    });
  }

或者,一个很好的轻量级图像幻灯片插件是jQuery.cycle。它经过了很好的测试,并且非常可扩展。

http://jquery.malsup.com/cycle/

由于#slideshow只是表示DOM元素ID,例如单个div或其他什么,您可以不将其更改为#slideshow2并创建一个ID为slideshow2的额外div吗?如果这不起作用,那么也许幻灯片代码的编写方式是不可能的?