在IE7中打破了Effect.SlideDown(Scriptaculous)

时间:2011-02-24 13:41:33

标签: javascript scriptaculous prototypejs internet-explorer-7 ie7.js

最近,我一直在尝试使用Prototype& Scriptaculous有一个相当简单的SlideDown& ScrollTo效果为他们的应用程序填写表单。它适用于FF3,FF4,Chrome,Safari,Opera,IE9和IE8。我知道IE6会成为一个问题,但我想我可以通过一些细微的修改让IE7工作。

设置div宽度的修复程序无法解决问题。

目前,它不能在IE7中运行,我为什么不知所措。我不是JavaScript的忍者,并且非常感谢任何帮助。

XHTML结构:

<div id="scrollPoint"></div>
<div id="slideForm" style="display:none;">
    <div style="position: relative">
        <div class="separator" style="padding:5px 0"></div>
        <h3 class="fhgroupblue">Apply for this Position:</h3>
        <ucl:ApplicationForm id="WebUserForm" runat="server" />
    </div>
</div>

使用Javascript:

<script type="text/javascript">
    function hideDetails() {
        if ($('showFormLink').style.visibility != "hidden") {
            $('showFormLink').style.visibility = 'hidden'; Effect.SlideDown($('slideForm'));
        }
        Effect.ScrollTo('scrollPoint'); return false;
    }
</script>

触发:

<div style="text-align:center;">
    <a id="showFormLink" onclick="hideDetails();">Apply!</a>
</div>

CSS:

#jobDetails #slideForm {
padding-right: 10px;
width: 400px;}

1 个答案:

答案 0 :(得分:1)

想出这个 - 为可能的其他陷入困境的用户发布解决方案。 对于那些使用SiteCore的用户,不要忘记将if(!Prototype)添加到包含的Prototype.js文件的顶部。 这是因为SiteCore使用Web Forms for Marketers在其自己的Prototype库中滚动。

以下是我们的所作所为:

  1. if(!Prototype)添加到顶部 我们包含的Prototype.js文件
  2. 在/ sitecore / shell / controls / lib / {/ prototype,/ Scriptaculous}中,将JavaScript库更新为最新版本。
  3. 魔术发生了,一切都回到IE6&amp; 7它应该是这样的方式。