0

我在 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() 方法更好的方法来做到这一点。

谢谢。

4

4 回答 4

1

您可以隐藏/禁用覆盖的滚动条 onLoad()。然后覆盖层的 onClose() 可以显示显示/启用滚动条。

查看 onLoad() 和 onClose() 的文档以了解您的叠加层。

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

于 2013-03-22T13:55:27.127 回答
1

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

$("img[rel]").overlay({
    onLoad: function(event) {
        // hide the scrollbar
    },
    onClose: function(event) {
        // show the scrollbar
    }
});

关于覆盖的选项、事件和方法的更多信息可以在jQuery 工具覆盖文档中找到。可以在此处找到有关使用 jQuery 工具的事件的更多一般信息。

于 2013-03-22T13:56:51.873 回答
0

试试这个代码:

$.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/

于 2013-03-22T13:45:01.233 回答
0
  $(document).ready(function () {
            var callBack = function(){
                $('#scrollbar2').tinyscrollbar();
            };
            $("img[rel]").overlay(callBack);
            // then call this callback function inside overlay function
        });
于 2013-03-22T13:55:08.227 回答