首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过另一个元素上的onClick暂停SuperSized.js

通过另一个元素上的onClick暂停SuperSized.js
EN

Stack Overflow用户
提问于 2012-03-25 22:23:07
回答 2查看 1.6K关注 0票数 0

我真的不“理解”jQuery --我只使用JS来修改客户端的DOM属性--但是当一个工具符合要求时,你就必须使用它。我的页面上运行着一个SuperSized幻灯片,我还在底部的导航栏中添加了几个按钮。当单击这些按钮时,我会打开一个窗口,显示有关当前幻灯片的更多信息,但因为它是“当前”幻灯片,所以我需要在窗口打开时停止放映。一切都很正常,除了这个停止的业务。我提到了api,有一个调用就是这样做的:

代码语言:javascript
复制
$(element).click(function(){
    api.playToggle();
});

...but如何在另一个元素的onClick中调用它?我知道上面的代码向'element‘添加了一个单击事件处理程序,我只是不知道我自己是如何从普通的旧onClick=中调用这个函数的。

任何帮助都非常感谢

丹尼

EN

回答 2

Stack Overflow用户

发布于 2012-05-18 03:46:37

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

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

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

HTML:

代码语言:javascript
复制
<div id="btnContainer">
    <a id="slideInfo" href="#">More Info</a>
</div>

jQuery:

代码语言:javascript
复制
$(function($) {
    $('#slideInfo').click(function() {
        api.playToggle();
    });
});

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

代码语言:javascript
复制
$(function($) {
    //Do this when page/DOM is done loading
});  

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

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

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

代码语言:javascript
复制
<script type="text/css">
    function ToggleSlideshow() {
        api.playToggle();
    }

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

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

代码语言:javascript
复制
onClick="javascript:ToggleSlideShow()"

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

票数 0
EN

Stack Overflow用户

发布于 2012-07-18 04:50:18

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

代码语言:javascript
复制
<script type="text/javascript">


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

</script>


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

若要使用模式框暂停幻灯片放映,请执行以下操作。它工作得很完美!

但是,当我关闭模式框时,我无法重新启动幻灯片。

我是不是遗漏了一些额外的代码?(你写了上一个用户,问你是不是这样)。

非常感谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9860894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档