如何执行javascript仅当jquery覆盖被调用

How to execute javascript only when jquery overlay is invoked?

本文关键字:jquery 仅当 覆盖 调用 javascript 何执行 执行      更新时间:2023-09-26

我在一个aspx页面上设置了一个简单的jquery覆盖。以下是相关代码:

<img rel="#1208" src="/images/testsmall.png" />
<div class="simple_overlay" id="1208"><img src="/images/testlarge.png" /></div>

使用jquery库

http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js

和脚本:

<script>
    $(document).ready(function() {
    $("img[rel]").overlay();
    });
</script>

在页面本身有一个javascript滚动条,这段代码位于其中:

<head>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#scrollbar2').tinyscrollbar();
        });
    </script>
</head>

事情是,我想禁用滚动条只有当覆盖被调用。对jquery和javascript相当陌生,虽然我知道如何用javascript的hide()方法隐藏滚动条,但我不确定如何将其编码为仅在调用覆盖时调用。如果有比hide()方法更好的方法,

谢谢。

我不知道是否有比在滚动条上调用.hide()更好的方法,但是您可以使用覆盖的onLoadonClose事件来控制何时应该发生:

$("img[rel]").overlay({
    onLoad: function(event) {
        // hide the scrollbar
    },
    onClose: function(event) {
        // show the scrollbar
    }
});
关于选项、事件和叠加方法的更多信息可以在jQuery工具叠加文档中找到。关于使用jQuery工具的事件的更多一般信息可以在这里找到。

你可以隐藏/禁用滚动条的onLoad()叠加。然后onClose()的叠加,你可以显示显示/启用滚动条。

查看onLoad()和onClose()的文档。

http://jquerytools.org/documentation/overlay/

试试下面的代码:

$.getScript("ajax/test.js", function(data, textStatus, jqxhr) {
console.log(data); //data returned
console.log(textStatus); //success
console.log(jqxhr.status); //200
console.log('Load was performed.');
});

应该可以。看看这个:http://api.jquery.com/jQuery.getScript/

  $(document).ready(function () {
            var callBack = function(){
                $('#scrollbar2').tinyscrollbar();
            };
            $("img[rel]").overlay(callBack);
            // then call this callback function inside overlay function
        });