【问题标题】:Dynamic variable in jQuery function parametersjQuery函数参数中的动态变量
【发布时间】:2011-10-16 20:13:51
【问题描述】:

让我解释一下,我正在使用下面的代码来启动幻灯片:

target.cycle({
            timeout: 0,
            before: onBefore,
            after: onAfter,
            next: target + ', #slide-next',
            prev: '#slide-prev'
        })

我唯一的问题是我在定义next 参数时遇到了麻烦,该参数应该采用幻灯片本身的选择器;变量target#slide-next的id

不幸的是,这段代码不起作用,

当我使用next: '#slide-next', 时,当我按下 下一个按钮,当我使用时,next: target, 当我使用幻灯片时 单击幻灯片本身,但是当我使用next: target + ',#slide-next', 时,它们仅在我单击幻灯片而不是下一个按钮时才会转换。

我需要如何定义next

谢谢!

【问题讨论】:

  • 它以什么方式“不起作用”?这段代码没有明显的问题。
  • target 的值是多少?
  • 我不认为你用对了,来自文档next: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for next slide
  • 当我使用next: '#slide-next', 时,当我按下下一个按钮时,幻灯片过渡,当我使用时,next: target, 当我单击幻灯片本身时幻灯片过渡,但当我使用 next: target + ', #slide-next', 时,它们会过渡当我点击幻灯片而不是下一个按钮时。
  • target 的值是包含图像列表的 div 的选择器字符串,例如#slideshow

标签: javascript jquery function parameters


【解决方案1】:
var next = target.add("#slide-next");    

target.cycle({
        timeout: 0,
        before: onBefore,
        after: onAfter,
        next: next,
        prev: '#slide-prev'
})

【讨论】:

    【解决方案2】:

    我不确定您接下来要设置什么,但这里有一些提示可能会对您有所帮助。

    在元素中放置一些属性,代表应该显示的下一个元素的选择器,例如:

     <div id="s1" data-next="#s2">...</div>
    

    在你的初始化中放一些代码,获取当前元素并使用 data-next 作为 next 的属性:

    target.cycle({
            timeout: 0,
            before: onBefore,
            after: onAfter,
            next: $(target).attr("data-next"),
            prev: '#slide-prev'
        })
    

    你可能需要修改这段代码,但我希望你能明白什么是想法。

    约万

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      • 2019-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多