Effect.SlideDown (Scriptaculous) не работает в IE7
Недавно я пытался работать с 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 ответ
Разобрался с этим - размещение решения для возможных других проблемных пользователей. Для тех, кто использует SiteCore, не забудьте добавить:if(!Prototype)
в начало вашего включенного файла Prototype.js. Это связано с тем, что SiteCore работает с собственной библиотекой прототипов с веб-формами для маркетологов.
Вот что мы сделали:
- добавленной
if(!Prototype)
в начало нашего включенного файла Prototype.js - В / sitecore / shell / controls / lib / {/ prototype, / Scriptaculous} обновлены библиотеки JavaScript до их новейших версий.
- Произошло волшебство, и все вернулось к работе в IE6 & 7 так, как и предполагалось.