当下面的javascript动作被调用时(prettyPhoto lightbox),我需要修改主体的样式以使其溢出:隐藏和位置:固定。

<script type="text/javascript" charset="utf-8">
  $(document).ready(function(){
    $("a[rel^='prettyPhoto']") .prettyPhoto({
    });
  });
</script>


因此,我需要插入以下内容:

$('body').css('overflow','hidden');
$('body').css('position','fixed');


...但仅当灯箱打开时。

基本上,我需要在prettyPhoto处于活动状态时停止身体滚动。有任何想法吗?

最佳答案

尝试在打开prettyPhoto的函数中放入一些基本的JavaScript代码。
像这样:

document.getElementById(BodyId).setAttribute("class","body_noscrolling");


并在禁用滚动的情况下为body(.body)设置一个css值:

.body {
}
.body_noscrolling {
overflow: hidden;
position: fixed;
}


还要更改<body>标记:

<body id="BodyId" class="body">


如果您的“ prettyPhoto”中有一个> CLOSE
document.getElementById(BodyId).setAttribute("class","body");


我不太确定它是否会工作,因为我不知道您的prettyPhoto函数是如何调用的。

关于javascript - 调用JavaScript操作时修改样式-prettyPhoto灯箱,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22693503/

10-10 20:25