如何仅在调用jqueryoverlay时执行javascript?
我在aspx页面上设置了一个简单的jquery覆盖。以下是相关代码:如何仅在调用jqueryoverlay时执行javascript?,javascript,jquery,scrollbar,overlay,Javascript,Jquery,Scrollbar,Overlay,我在aspx页面上设置了一个简单的jquery覆盖。以下是相关代码: <img rel="#1208" src="/images/testsmall.png" /> <div class="simple_overlay" id="1208"><img src="/images/testlarge.png" /></div> 和脚本: <script> $(document).ready(function() { $("
<img rel="#1208" src="/images/testsmall.png" />
<div class="simple_overlay" id="1208"><img src="/images/testlarge.png" /></div>
和脚本:
<script>
$(document).ready(function() {
$("img[rel]").overlay();
});
</script>
$(文档).ready(函数(){
$(“img[rel]”)overlay();
});
在页面本身上有一个javascript滚动条,用于该代码所在的部分:
<head>
<script type="text/javascript">
$(document).ready(function () {
$('#scrollbar2').tinyscrollbar();
});
</script>
</head>
$(文档).ready(函数(){
$('#scrollbar2')。tinyscrollbar();
});
问题是,我只想在调用覆盖时禁用滚动条。对于jquery和javascript来说是相当陌生的,虽然我知道如何使用javascript的hide()方法隐藏滚动条,但我不确定如何将其编码为仅在调用覆盖时调用。或者如果有比hide()方法更好的方法
谢谢。请尝试以下代码:
$.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.');
});
我们应该做到这一点。再看看这个:您可以隐藏/禁用覆盖的滚动条onLoad()。然后,一旦关闭覆盖,您就可以显示显示/启用滚动条 查看覆盖的onLoad()和onClose()文档
我不知道是否有比在滚动条上调用
.hide()
更好的方法,但您可以使用覆盖的onLoad
和onClose
事件来控制何时发生:
$("img[rel]").overlay({
onLoad: function(event) {
// hide the scrollbar
},
onClose: function(event) {
// show the scrollbar
}
});
有关覆盖的选项、事件和方法的更多信息,请参见。可以找到关于jQuery工具事件的更多一般信息。这就成功了!我使用onBeforeLoad而不是onLoad,并在hide中增加了一个速度--.hide(“fast”)--这样我的覆盖的fadein就不会首先出现,也不会在我的滚动条突然消失之前出现。
$(document).ready(function () {
var callBack = function(){
$('#scrollbar2').tinyscrollbar();
};
$("img[rel]").overlay(callBack);
// then call this callback function inside overlay function
});
$("img[rel]").overlay({
onLoad: function(event) {
// hide the scrollbar
},
onClose: function(event) {
// show the scrollbar
}
});