0

我真的没有“得到” jQuery——我只使用 JS 来改变客户端的 DOM 属性——但是当一个工具符合你的要求时,你必须使用它。我的页面上有一个超大的幻灯片,我在底部的导航栏上添加了几个按钮。单击这些按钮时,我会打开一个窗口,显示有关当前幻灯片的更多信息,但因为它是“当前”幻灯片,所以我需要在窗口打开时停止显示。一切正常,除了这个停止的业务。我提到了 api,并且有一个调用可以做到这一点:

$(element).click(function(){
    api.playToggle();
});

...但是我如何在另一个元素上的 onClick 中调用它?我知道上面的代码向“元素”添加了一个点击事件处理程序,我只是不明白我如何从普通的旧 onClick=""...

非常感谢任何帮助

丹尼

4

2 回答 2

0

我正在使用您建议的此代码:

<script type="text/javascript">


$(function($) {
    $('#slideInfo').click(function() {
        api.playToggle();
    });
});

</script>


<div id="btnContainer">
    <a id="slideInfo" href="#">More Info</a>
</div>

使用模式框暂停幻灯片。它完美无缺!

但是,当我关闭模式框时,我无法重新开始幻灯片放映。

我错过了一些额外的代码吗?(您写信给以前的用户询问您是否是这种情况)。

非常感谢!t

于 2012-07-17T20:50:18.050 回答
0

您需要将点击事件附加到元素。

http://api.jquery.com/click/

我将假设您的“按钮”是一个链接。

HTML:

<div id="btnContainer">
    <a id="slideInfo" href="#">More Info</a>
</div>

jQuery:

$(function($) {
    $('#slideInfo').click(function() {
        api.playToggle();
    });
});

这就是这样做的。首先,jQuery 需要在页面加载完成后运行。这是通过以下方式完成的:

$(function($) {
    //Do this when page/DOM is done loading
});  

我们使用jQuery 选择器来选择 id 为 slideInfo 的元素。我们将 click 事件处理程序附加到元素。在单击处理程序中,我们定义了单击元素后要执行的代码。在这种情况下,我们想要切换幻灯片的播放。调用 api.PlayToggle(); 超大插件的功能将做到这一点。

要记住的一件事是,这将暂停您的幻灯片放映,以便您可以显示更多信息窗口。我不知道你是如何显示这个窗口的,但我建议使用一个对话框弹出窗口。用户关闭此对话框弹出窗口后,您需要以某种方式再次调用 api.playToggle() 函数以重新启动幻灯片。如果您需要更多帮助,请回复更多信息。

我不确定你的第二个问题是什么。我认为您想要一个在单击触发 api.playToggle() 函数的按钮时调用的函数,但您还想在其他 javascript/jquery 代码中的其他地方调用此函数或将其附加到另一个元素。在这种情况下,您可能会考虑将您的 jquery 更改为:

<script type="text/css">
    function ToggleSlideshow() {
        api.playToggle();
    }

    $(function($) {
        $('#slideInfo').click(function() {
            ToggleSlideshow();
        });
    });
</script>

我只是简单地创建了一个名为 ToggleSlideshow() 的函数,它将触发 api.playToggle() 函数。然后当我附加我的点击处理函数时,我告诉它触发 ToggleSlideshow() 函数。如果你想把它附加到按钮的 onClick 属性或类似的东西上,你所要做的就是:

onClick="javascript:ToggleSlideShow()"

我希望我已经准确地回答了你的问题。

于 2012-05-17T19:46:36.933 回答